5. Non siamo fanatici, «Ci va bene qualunque licenza»...
«Ma non intendiamo farne una questione ideologica. Ci va bene
qualunque licenza che ci permetta il controllo del software che usiamo,
perché questo ci mette in grado a nostra volta di offrire ai
nostri clienti e utenti il vantaggio del controllo, siano essi ingegneri
della nasa o sviluppatori di applicazioni gestionali per studi dentistici»
(19).
Robert Young, spiegando la nascita di Red Hat, una delle principali
distribuzioni commerciali di Linux, è molto chiaro: ci va bene
qualunque licenza, il mercato lo abbiamo già. Questo per leconomia
globale è decisamente un bel passo in avanti, significa partire
con il vento in poppa, un po come pescare in una vasca da bagno
già colma di pesci: gli utenti anzi i consumatori
ci sono, dateci gli strumenti per raggiungerli...
Alcune licenze costituiscono semplicemente una sorta di «lasciapassare»
che una comunità più incline al richiamo commerciale
recepisce per favorire il passaggio allOpen Source, visto come
un modello di capitalismo alternativo, magari addirittura dal volto
umano. La differenza tra software proprietario e Open Source nel «fare
soldi» è infatti minima: si crea un grande prodotto,
si fa del marketing creativo e accattivante, si genera «il bisogno»,
ci si cura degli utenti/clienti e si costruisce laffidabilità
del prodotto e di chi lo produce.
LOpen Source in questo modo diventa un marchio qualunque, un
logo, un simbolo di affidabilità, qualità e coerenza
e, come tale, porta profitti. Robert Young chiarisce molti aspetti
relativi alle licenze e al loro attuale valore, che pare rimanere
una dichiarazione di principi elastici quanto basta per consentire
allOpen Source di affermarsi come modello economico di salvezza
per il capitalismo in crisi di crescita.
Dal closed allOpen Source: cambia poco nei metodi di affermazione
di un prodotto, ma cambia moltissimo nel mondo monopolistico del software.
Il vantaggio di una marca che produce in un determinato settore è
infatti lampiezza del proprio mercato, prima ancora delle quote
che la società produttrice detiene: più utenti gnu/Linux
in circolazione significa più clienti potenziali per Red Hat.
I rapporti di potere allinterno delle comunità hacker
si rispecchiano quindi anche nellambito delle licenze; nel giugno
del 2003 ad esempio la Red Hat è stata accusata di «uscire
dalla GPL»: alcune parti dellEnd User License Agreement
(eula) del software Red Hat Advanced Server sembrerebbero essere in
netto disaccordo con la licenza GPL (20).
Questo chiarisce inoltre come il capitalismo sia disposto ad assumere
lOpen Source come alternativa economica allattuale sistema
monopolistico di Microsoft Windows e come parti di questo mondo cerchino
costantemente strade per aprire nuovi mercati, per elaborare nuove
strategie, per fare nuovi profitti.
LOpen Source in definitiva è solo il tentativo (fino
ad ora riuscito) di adattare il metodo altamente produttivo delle
comunità hacker, che rispetti la condivisione, ma che sia più
elastico rispetto a ingerenza economiche commerciali. Questa elasticità,
o flessibilità, è ormai usuale nei metodi di lavoro
ed è sancita, verso lesterno, con le licenze. LOpen
Source rappresenta la vittoria del modello liberale sul modello libertario
del Free Software: lunica libertà che si preserva, in
fondo, è quella del mercato.
Ogni tipo di licenza si presta a usi commerciali, si tratta di scegliere
quella più adatta al proprio business. Tra il 1997 e il 1998,
infatti, Linux, Freebsd, Apache e Perl hanno visto crescere lattenzione
di personaggi provenienti dal mondo commerciale (manager di progetto,
dirigenti, analisti dindustria e venture capitalist). La maggior
parte degli sviluppatori ha accolto questattenzione con molto
favore: un po per orgoglio, un po per motivare i propri
sforzi e, non ultimi, i propri compensi.
6. Nella pratica... modelli di business molto «aperti»
e molto poco «liberi»
I moderati dunque spopolano. Molti ritengono ormai che il modello
Open Source sia davvero un modello affidabile per la conduzione dello
sviluppo software a scopi commerciali. Unanalisi ad ampio raggio
delle licenze disponibili rileva che la bsd è, da un punto
di vista commerciale, la migliore quando si debba intervenire su un
progetto preesistente.
La bsd (21) in pratica specifica che il codice può essere utilizzato
come meglio si crede, salvo darne credito allautore. La licenza
bsd fu scelta inizialmente da Apache, progetto nato da webmaster di
ambiti commerciali che cercavano un web server in grado di ottimizzare
le proprie esigenze di business. La bsd, molto semplicemente, permette
linserimento di prodotti allinterno di software proprietari:
per molti è una licenza pericolosa, volta a minimizzare limpatto
etico della cosiddetta economia del dono.
La licenza bsd o x e affini, in pratica, permette di fare ciò
che si vuole del software licenziato. Questa «liberalità»,
spesso utilizzata contro la viralità «politicante»
della GPL, ha radici precisamente politiche: il software originariamente
coperto dalle licenze x e bsd era sovvenzionato con sussidi del Governo
degli Stati Uniti. Dal momento che i cittadini statunitensi avevano
già pagato il software con i soldi delle tasse, fu loro garantito
il diritto di fare del software tutto ciò che volessero...
La bsd è un esempio calzante anche della possibilità
di modifica delle licenze. Un dettaglio negativo era costituito da
una clausola che fu poi espunta: la bsd prescriveva infatti che, ogni
volta si facesse cenno a una caratteristica di un programma sotto
bsd in una sua pubblicità, si esplicitasse il fatto che il
software è stato sviluppato allUniversità della
California. Era evidente la problematicità di questa clausola
per distribuzioni contenenti migliaia di pacchetti software.
La prima licenza, vicino alla bsd, che ha portato novità importanti,
è stata quella di Mozilla: tale licenza prescrive che le modifiche
alla distribuzione siano rilasciate sotto lo stesso copyright della
mpl, rendendoli nuovamente disponibili al progetto. Evidente in questo
caso il rischio di utilizzo di software proprietari: se per distribuzione
si intendono i file così come vengono distribuiti nel codice
sorgente, questo consente a unazienda di aggiungere uninterfaccia
a una libreria di software proprietario, senza che questultimo
sia sottoposto alla mpl, ma solo linterfaccia.
Anche la GPL consente utilizzi commerciali, per quanto solo di riflesso
e non esplicitamente nel testo: diciamo che il mercato non è
il problema principale. Infatti, la GPL prescrive che «gli incrementi,
i derivati e perfino il codice che incorpora altri codici» vengano
rilasciati sotto GPL; per questo motivo la GPL viene definita «virale»,
per consentire che il codice che nasce free rimanga free.
Tuttavia anche la GPL può agire come «eliminatore»
di concorrenti su un determinato progetto: con la GPL, come dimostra
lesempio di Cygnus, citato da Brian Behlendorf (uno dei leader
del progetto Apache): «non cè speranza che un concorrente
possa trovare una nicchia tecnico-commerciale che sia sfruttabile
con la struttura gcc senza dare a Cygnus la stessa opportunità
di approfittare anche di quella tecnologia. Cygnus ha creato una situazione
in cui i concorrenti non possono competere sul piano della diversificazione
tecnologica, a meno che non intendano spendere quantità ingenti
di tempo e di denaro e usare una piattaforma completamente diversa
da gcc» (22).
La fsf di fronte ai cambiamenti in atto ha tentato di ovviare in qualche
modo e recuperare terreno: nel 1999 nasce la lGPL (Lesser General
Public Licence) (23) in relazione al problema delle librerie e per
diminuire limpatto considerato un po troppo limitante
della GPL.
La lGPL, come la GPL, si presenta contemporaneamente come una licenza
e come un manifesto politico: viene infatti specificato che le licenze
della maggior parte dei programmi hanno il solo scopo di togliere
allutente la possibilità di condividere e modificare
il programma stesso. Al contrario le Licenze Pubbliche Generiche gnu
sono intese a garantire la libertà di condividere e modificare
il software libero, al fine di assicurare che i programmi siano liberi
per tutti i loro utenti.
Nella licenza viene messa in evidenza la finalità principale,
ovvero garantire che anche un programma non libero possa utilizzare
delle librerie open (ad esempio la libreria C del progetto gnu in
modo da consentire a più persone di usare lintero sistema
operativo gnu), ma allo stesso tempo viene specificato di usare la
licenza con parsimonia, nonché linvito a sviluppare librerie
libere in modo che chiunque possa ridistribuirle o modificarle (24).
Infine, nata nel 2000, la licenza gfdl (gnu Free Documentation Licence)
(25) è una licenza libera, copyleft, ma per distribuire documentazione
e non software; lelaborazione è della fsf. Un esempio
di applicazione concreta della gfdl è lesperimento di
Wikipedia (26), unenciclopedia libera e multilingue open publishing:
nella versione inglese è arrivata a contare oltre 500.000 voci,
quella italiana al momento ne conta circa 40.000.
Le licenze software sono una modalità di relazione verso lesterno
di creazioni per lo più comunitarie. Vediamo ora come si relazionano
al loro interno queste comunità.
Note al capitolo
1. la filosofia della GNU
2. definizione di open source (cache)
3. Il sito dell'open source (cache)
4. http://www.gnu.org/philosophy/freesw.it.html
5. Il monopolio commerciale della microsoft si è ampliato a
dismisura: dalle patenti europee del computer (ecdl), allemail
su hotmail, passando ovviamente per msn, i sistemi operativi windows
le certificazioni per sistemisti e programmatori. Tanta strada è
stata fatta da quando Bill Gates nel 1975 vendette il porting per
il linguaggio basic (Beginners AllPurpose Symbolic Instruction
Code) per Altair 8800 a oggi; la softwarehouse Microsoft ha cambiato
in questo lasso di tempo svariate facce. In origine nacque come società
di sviluppo software (furono scritte infatti diverse versioni del
linguaggio basic non di sua invenzione , il fortran,
il cobol, pascal, visual basic e il nuovo c#), ma si specializzò
ben presto in applicativi gestionali (visiCalc, msword, msexcel)
e sistemi operativi (Xenix e ms-dos). Sicuramente è da attribuirsi
alla Microsoft lintroduzione in ambito professionale e, grazie
ad un totale supporto di questa «nuova» tecnologia su
tutti gli applicativi Microsoft, in soli 7 anni, la softhouse di Bill
Gates si era guadagnata una fetta di tutto rispetto nel mercato informatico.
Lanno decisivo è sicuramente il 1990 col rilascio di
Windows 3.0: un sistema operativo abbastanza usabile, dotato di interfaccia
grafica, a un costo nettamente inferiore rispetto al più avanzato
Apple Macintosh. Windows 95, Windows nt, Windows 98, Windows 2000,
Windows xp e molti altri sistemi operativi hanno invaso il mercato.
Oggi Microsoft è la più grande società di software
del mondo. Wikipedia: la storia di Microsoft (cache)
6.: Richard Stallmann definisce free software e open source «due
partiti politici»
7. Più correttamente, Software Gratuito, ma non libero, si
traduce con Freeware.
8. Molti «osservatori esterni» confondono erroneamente
i piani: Negri e Hardt nel loro ultimo lavoro dedicano una parte allOpen
Source descrivendolo come si descriverebbe il Free Software. A conferma
di questa confusione, nelle note, viene citata unopera di Stallmann
da cui sono ripresi alcuni brani. Stallmann Open Source! (Michael
Hardt, Antonio Negri, Moltitudine. Guerra e democrazia nel nuovo ordine
imperiale, Rizzoli, Milano, 2004, p. 350)
9. http://www.Linux.it/GNU/softwarelibero.shtmlIl software libero
per Linux.it
10. etimologia di "Licenza" (cache)
11. Mozilla Public Licenze
12. John Woo, Paycheck, 2003. Tratto dal racconto di Philip K. Dick,
I labirinti della memoria, Fanucci, Roma, 2004.
13. Si veda ad esempio Philip K. Dick, Ubik, Fanucci, Roma, 1995 (ed.
or. Ubik, 1969): i personaggi utilizzano già dei telefoni cellulari.
Al di là dellanticipazione tecnologica, più interessante
è però la visione di nuove pratiche possibili: in fondo
letica hacker, nella vulgata di «Stallman vs. software
close», ricorda il libro proibito, che racconta unaltra
storia possibile, «La cavalletta non si alzerà più»,
in La svastica sul sole, Fanucci, Roma, 1997 (ed. or. The Man in The
High Castle, 1962), la terrificante ucronia sul nazismo.
14. Certo lufficio brevetti si occupa fin da troppo tempo di
«proteggere» le conoscenze, costituendo di fatto un ostacolo
sempre più insopportabile anche per le stesse aziende; per
una lettura di Paycheck alla luce della situazione attuale, si veda
l'archivio di quintostato.org (cache)
15. Da sempre oggetto di aspri dibattiti, la gpl è stata accusata
nel 2003 da sco di violare la costituzione degli Stati Uniti, e le
leggi sul copyright, sullantitrust e sulle esportazioni (cache)
E' invece di fine luglio 2004 il riconoscimento legale della licenza
gpl da parte del tribunale tedesco di Monaco di Baviera.
16. Bruce Perens, The Open Source Definition (cache)
17. Eric S. Raymond, Colonizzare la Noosfera, 1998 (cache)
18. Ironicamente, una falla di sicurezza del sito della società
delegata a gestire gli accessi al codice sorgente ha causato nel febbraio
del 2004 la diffusione di una parte del sorgente di una versione preliminare
di Windows 2000 (circa 200 mb di codice), da cui derivano anche Windows
xp e Windows 2003.
19. la filosofia di Robert Young (cache)
20. David McNett? scrive infatti: «would appear to be at odds
with the also included gnu General Public License.» (cache)
21. Testo originale della Licenza bsd versione 4.4 (inglese) (cache)
22. Brian Behlendorf, Open Source come strategia commerciale (cache)
23. Testo completo della licenza lgpl, (in inglese) (cache)
24. Un breve accenno allArtistic License . Questa licenza è
considerata incompatibile con la gpl e il progetto gnu: farraginosa
e imprecisa nelle specifiche, non rappresenta né una novità
né una rilettura di altre licenze; è mal formulata,
perché impone dei requisiti e fornisce poi delle scappatoie
che rendono facile aggirarli. Per questo molto software che utilizza
questa licenza si avvale di una seconda licenza, quasi sempre la gpl.
25. gnu Free Documentation Licence (cache) Da notare che Debian sta
eliminando tutti i software rilasciati sotto GFDL per incompatibilità
con le proprie linee guida (cache)
26. Un esempio di applicazione concreta della gfdl è lesperimento
di Wikipedia
III- Comunità
1. Etica: pratiche non scritte
Le connotazioni etiche del software, come abbiamo visto nel capitolo
precedente, sono definite da interazioni fra le modalità di
distribuzione, le metodologie di sviluppo e le licenze applicate.
Non dipendono dunque dal software in sé, non sono inscritte
nel codice, ma sono frutto di un sistema complesso di sinergie.
In sostanza il discrimine è costituito dalla comunità
di sviluppo che col proprio lavoro marca le caratteristiche peculiari
del software sia in senso tecnico che culturale. Se la licenza di
un software rispetta le caratteristiche espresse nei punti osi o fsf,
allora questo applicativo si può definire «amico»
del mondo Open Source o Free Software: è ragionevole aspettarsi
che riceva tutti i benefici derivanti dalluso di strumenti messi
a disposizione dalla comunità.
Sin dalla nascita di internet, e nella maggior parte dei casi ancora
oggi, è stata regola non scritta (ma fondante dei principi
collaborativi tra sviluppatori) laccordo a non riscrivere mai
applicativi o librerie già esistenti. Al contrario: è
pratica corrente avere sempre presenti gli aggiornamenti circa gli
sviluppi degli altri progetti (1).
Non si tratta di una banale «usanza», ma di una pratica
consolidata per ragioni precise. Infatti, è ritenuto più
utile e interessante aderire a un progetto già avviato piuttosto
che iniziarne uno nuovo, poiché la rete per sua natura si sviluppa
in una miscela complessa nella quale lemersione di grandi progetti
avviene attraverso la collaborazione reale e non competitiva tra sviluppatori,
debuggers e utenti.
Il processo attraverso il quale si raggiunge lobiettivo spesso
è più importante dellobiettivo stesso; o meglio,
se non si fosse sperimentato il metodo di sviluppo aperto, paritetico
e di interdipendenza, il mondo del software non avrebbe avuto le stesse
ricadute politiche sulla vita reale.
Molti interventi analizzano laspetto metodologico in questione
avvalendosi di termini come «Passione», o «Economia
del Dono» (2): viene così descritta e spiegata la ragione
di tanta dedizione a progetti anche estremamente impegnativi nellassoluta
mancanza di una gratificazione economica.
Sicuramente il desiderio di aderire a un progetto comunitario è
un elemento fondamentale: è unenergia che deriva dalla
propensione al gioco, dalla scelta del gioco, peculiare dello spirito
hacker. Per noi si tratta di una combinazione sinergica tra il piacere
della creazione fine a se stessa e il senso di appartenenza a un gruppo,
una comunità, capace di gratificazione e stimoli nei confronti
dellindividuo. In ogni caso, più che di «economia
del dono» si tratta di una «ecologia del desiderio»:
un discorso fluido, non un paradigma strutturato di regole normative.
2. Come nasce e si sviluppa un software: dallhumus alla
comunità
Una delle tante novità apportate dalla nascita del kernel
Linux al Free Software è stata quella di espandere léquipe
di sviluppo del programma. Vengono aggiunti al core nuovi e diversi
gruppi dedicati: per esempio, alla documentazione, alle distribuzioni
complete, o alla creazione di temi grafici; fino alla nascita di community
di semplici utilizzatori e appassionati.
Attualmente molti progetti di applicativi giungono al mondo Open Source
da un passato commerciale di sviluppo close, affascinati o costretti
a liberare i codici sorgenti proprietari per ragioni di business;
altri invece, che nascono con precisi intenti commerciali, iniziano
da subito a muoversi nel mondo del codice libero.
In qualunque caso, siano le comunità libere o interamente gestite
da unamministrazione aziendale, identifichiamo almeno cinque
macro nodi, cinque tipologie che si intersecano variamente e compongono
morfologie complesse: comunità di sviluppo, di distribuzione,
di documentazione, di utenti, di sicurezza.
Cominceremo ad analizzare alcune diverse tipologie di comunità,
a partire da come viene originariamente costruito un manufatto digitale.
Per evitare noiose tassonomie, le chiameremo genericamente comunità
Open Source, comprendendo anche le comunità che più
si riconoscono nelloriginario movimento Free Software.
3. Comunità di sviluppo
Quando nasce un applicativo, generalmente la spinta iniziale si deve
alla volontà di un piccolo gruppo o di un singolo sviluppatore
che ne abbozza i codici; capita molto di frequente, infatti, che gli
hacker si dedichino per gioco ai propri progetti, pur portandoli a
livelli di elevata comprensibilità, fruibilità e professionalità.
Attorno a una nuova idea di applicativo, troviamo sempre un ribollire
di micro progetti, software completi e funzionanti, idee e codice.
Lemersione di ogni singolo elemento da questo magma è
frutto di una scrematura a ognuno dei grandi nodi; una volta affermata
la stabilità dellapplicativo nessuno generalmente sceglie
la via della competizione (imbarcandosi magari nella scrittura di
qualcosa di analogo), piuttosto si collabora alla messa a punto di
nuove idee presso il software «dominante» (3).
Di regola limplementazione di un software avviene attraverso
la scrittura di plugins, cioè per mezzo di aggiunte funzionali
per programmi a gestione modulare. Pensiamo per esempio a Xmms, il
clone del noto lettore di file audio Winamp per piattaforma Windows;
la struttura di questo applicativo è pensata per supportare
moduli che leggano nuove tipologie di file, ulteriori output audio,
effetti grafici più avanzati.
Tramite la compilazione di plugins si formano piccole comunità
o reti informali di singoli programmatori che forniscono il proprio
contributo relazionandosi occasionalmente al progetto.
Questo fenomeno di cooperazione aperta è in corso da oltre
dieci anni ed è particolarmente visibile anche in campi nuovi
come il multimedia, il video e laudio ove un numero incredibile
di programmi sta iniziando a prendere piede con il desiderio di sfondare
presso il grande pubblico (che a sua volta è in crescita verticale,
data la disponibilità sempre maggiore di strumenti di riproduzione
audio-video) (4).
Nella maggior parte dei casi i software che emergono sono quelli il
cui team riesce ad affrontare con successo e rapidità le questioni
tecniche e relazionali.
La velocità di risposta ai debuggers, che utilizzano lapplicativo
e segnalano i problemi, e alle implementazione delle nuove funzioni,
possono mettere in luce la capacità dei coder di sostituirsi
alla figura del/dei mantainer condividendone il lavoro. Il mantainer,
dal canto suo, dovrà essere in grado di puntualizzare o gratificare
prontamente la mailinglist di sviluppo e/o della community allargata,
confermando le modalità duso condivisa degli strumenti
e la netiquette.
In sintesi, si può affermare che la possibilità di livellare
la struttura gerarchica insita nelle comunità (vedi cap. i)
dipende dalla capacità di scomposizione dei ruoli a opera del
core di sviluppo.
Vi sono casi in cui software validi e complessi si formano attraverso
la summa di progetti minori nati non tanto attraverso delle comunità,
quanto piuttosto dal dialogo e dalla messa in relazione di patch individuali
e scheletri di progetti abbandonati (5).
Le relazioni tra una specifica équipe di sviluppo e il resto
della rete è spesso agevolata dalla presenza di individui chiave
che aderiscono parallelamente a più progetti e sono capaci
di travasare non soltanto le proprie competenze da un progetto allaltro,
ma anche le informazioni e gli aggiornamenti sullo status di ciascuna
elaborazione.
In maniera analoga esistono progetti che legano trasversalmente le
comunità tra loro in un rapporto di interdipendenza.
Questo particolare legame tra applicativi non è da ritenersi
una relazione di subalternità, bensì chiarisce quellaspetto
metodologico reticolare che rende la collaborazione paritetica la
modalità attraverso la quale ogni nodo della rete è
collegato esponenzialmente a un altro.
Lesempio migliore di correlazione tra progetti è costituito
dalle librerie, ovvero porzioni di codice compilate che forniscono
strumenti a programmi che abbiano la necessità di funzioni
semplificate. Le librerie grafiche gtk, qt e fltk implementano gli
elementi standard di unapplicazione visuale (pulsanti, menu,
icone...), semplificando il lavoro dei programmatori che, appoggiandosi
alla libreria preferita, scriveranno solo le funzioni reali del programma.
Saranno infatti le librerie a disegnare i pulsanti, gestire i click
del mouse, tracciare le ombre e molto di tutto ciò che siamo
abituati a vedere come utenti (si vedano le Appendici in merito alle
librerie qt).
Le librerie sono progetti trattati diffusamente da comunità
il cui intento è fornire strumenti generici e trasversali per
risolvere problemi complessi (connessioni di rete, comunicazione tra
applicativi, gestione del testo, immagini, compressione). Esattamente
come un software viene scritto con lobiettivo di raggiungere
più utenti possibile, una libreria è fatta per arrivare
a quante più comunità possibile (chiariremo più
avanti le contraddizioni, e le tensioni, insite nello sviluppo di
queste applicazioni).
Abbiamo detto che allinterno delle comunità di sviluppo
si trovano precise modalità organizzative. La maggior parte
dei progetti ha una struttura mobile che ruota attorno a un elemento
centrale: il mantainer, colui che dà inizio al progetto, che
svolge la supervisione di ogni proposta, codice o suggerimento proveniente
dalla comunità; infine, il mantainer decide circa luscita
delle release del software.
In alcuni progetti particolarmente ampi e complessi, può accadere
che alcuni fra i ruoli del mantainer siano gestiti da soggetti diversi.
Un prototipo è la struttura cosiddetta «a stella»
della comunità Linux ove esistono dei capo progetto per ogni
singola sezione del kernel. Compito dei capi progetto (che nella fattispecie
sono detti «luogotenenti») è quello di vagliare
ogni materiale proveniente dai sotto-gruppi combinandolo per la consegna
a Linus Torvalds che farà un ultimo check prima delluscita
della release. In questa imponente struttura anche il ruolo della
«messa online», della pubblicazione effettiva delle nuove
versioni, è delegata a un responsabile. In questo modo il mantainer
può dedicarsi, oltre alla scrittura di codice, solo a una supervisione
generale di parti già testate e controllate da altri.
Esistono poi dei meta progetti che si possono descrivere come la collezione
di un numero, a volte molto elevato, di ulteriori progetti o software.
È il caso dei desktop grafici gnome e kde, formati da tante
librerie e programmi, ognuno gestito da una comunità spesso
anche totalmente indipendente dalla suite grafica stessa.
Editor, giochi, applicativi di rete, strumenti di configurazione sono
alcuni degli elementi che formano i desktop grafici. Il ruolo di congiunzione
per questi singoli progetti è ricoperto dalle librerie che
attraverso una veste grafica omogenea fanno interagire gli elementi,
controllandone lesecuzione e passando ai vari programmi autonomi
funzionalità automatizzate.
4. Comunità di distribuzione
Una distribuzione (gnu/Linux, ma non solo) è un insieme di
programmi, file di configurazione, utility di amministrazione e un
kernel, il tutto installabile su un computer e aggiornabile da repository
appositamente dedicati sulla rete internet. Inoltre, almeno nella
maggior parte dei casi, laggiornamento è gratuito.
Unattività imprescindibile delle comunità di distribuzione
consiste nel passare al setaccio la rete internet con lobiettivo
di trovare sempre nuovi applicativi che, compatibilmente con la policy
della «distro» (cioè con le regole scritte della
comunità di distribuzione), possano essere «pacchettizzati»,
ovvero resi installabili dallutente finale attraverso i tools
della distribuzione stessa.
Debian (6) è una distribuzione storica da sempre indipendente
dalle grandi case commerciali; nel corso degli anni ha saputo brillantemente
investire sulla formula della comunità aperta, includendo al
proprio interno esclusivamente software di standard osi. Come si legge
sul sito ufficiale della distribuzione:
«Debian è un sistema operativo (os) libero (free) per
il tuo computer. Un sistema operativo è linsieme dei
programmi di base ed utilità che fanno funzionare il tuo computer.
Debian utilizza Linux come kernel (la parte centrale di un sistema
operativo), ma molti dei programmi di utilità vengono dal progetto
gnu; per questo usiamo il nome gnu/Linux. Debian gnu/Linux fornisce
più di un semplice os: viene distribuito con oltre 8710 pacchetti,
programmi già compilati e impacchettati in modo tale da permettere
installazioni facili sulla tua macchina».
Tuttavia, paradossalmente, per preservare la propria specificità
«free», il team di Debian ha creato una struttura altamente
gerarchica; per accedere alla comunità infatti occorre essere
presentati da qualcuno già membro e superare alcune prove sulla
storia, lorganigramma, e i rapporti della comunità Debian
con il mondo gnu/Linux (7).
Questo passaggio di «iniziazione» è lungo e complesso,
ma una volta entrati, si appartiene a una delle comunità più
ampie ed eterogenee possibili, la cui etica è saldamente legata
ai parametri del software libero. Certamente Debian non è lunica
distribuzione slegata dal mondo commerciale; ve ne sono molte altre,
e di diverse tipologie.
Slackware (8) è una fondazione no profit; per scelta stilistica
si presenta come una distribuzione minimale: infatti spesso è
difficile trovare software pacchettizzati o appositamente configurati
per le installazioni. Slackware prende spunto da un modello di boot
simile a quello dei sistemi bsd: per questa ragione si differenzia
parecchio dalla stragrande maggioranza delle altre distribuzioni gnu/Linux
che invece sono livellate su unorganizzazione di script e directory
detta System v (9).
Invece nel caso di Gentoo (10), una distribuzione recente realizzata
da giovani hacker in ambiente universitario, linstallazione
di un software si compie attraverso la compilazione ad hoc dei codici
sorgenti. La compilazione di un programma direttamente sulla propria
macchina rende lapplicazione maggiormente performante rispetto
a uninstallazione precompilata, ma i tempi delloperazione
si dilatano enormemente. Il successo di questo stile si deve allillusione
di possedere una distribuzione personalizzata creata passo dopo passo
sul proprio computer.
Infine, anche se non sono basati su un kernel gnu/Linux, esistono
anche i port di bsd, che presentano un sistema di compilazione parziale
del codice sorgente dei programmi richiesti.
Queste le principali distribuzioni libere.
Le distribuzioni commerciali, come Redhat, suse, Mandrake, capofila
di un discreto elenco, funzionano diversamente. Generalmente il core
di sviluppo, documentazione ecc. della distribuzione viene retribuito
dalle società finanziatrici del progetto; le propaggini secondarie
vengono lasciate invece al lavoro volontario. Il team delle distribuzioni
commerciali, per ovvi motivi di mercato, si impegna si impegna soprattutto
nel creare tools di amministrazione semplificata e software di installazioni
più grafici possibili (11).
5. Servizi
Tra comunità di sviluppo e comunità di utenti la comunicazione
avviene attraverso il Web, ma sono i repository delle singole distribuzioni
ad essere il mezzo maggiormente utilizzato per linstallazione
o laggiornamento dei programmi.
Esistono poi degli specifici fornitori di servizi che mettono a disposizione,
a chiunque ne faccia richiesta, computer per testing, repository,
mailing list, spazio web e altro ancora. Di questi paradisi digitali
solo due possono vantare una fama mondiale e un numero di progetti
ospitati superiore a ogni altro concorrente: sourceforge.net e freshmeat.net.
Dietro a questi nomi, però, si trova ununica società:
la Va Software Corporation, che fornisce al mondo dellOpen Source
computer estremamente potenti e banda larga, harddisk e assistenza
non alla portata di tutti.
Il prestigio della Va Software è dovuto in particolare ai
propri portali, che ospitano gratuitamente il codice sorgente delle
comunità e dei singoli programmatori e permettono a chiunque
di effettuare ricerche sul database dei progetti ospitati. Questi
portali hanno una tale risonanza che anche i progetti più piccoli,
una volta comparsi sulle prime pagine, arrivano tranquillamente a
contare centinaia di visite al giorno.
Potete quindi immaginare come, con un database utilizzato gratuitamente
da migliaia di coder, la Va Software possa garantire un ottimo servizio
di business to business per aziende legate al mondo Open Source ma
non solo. Un data mining di particolare interesse per business miliardari.
Tra gli sponsor e advertiser di sourceforge e freshmeat troviamo infatti
dalla Red Hat fino alla Microsoft.
6. Comunità di sicurezza
Le comunità nate attorno al tema della sicurezza informatica
si costruiscono attorno a mailinglist, portali web e canali di chat;
non hanno un aspetto progettualmente tecnico, o meglio: la loro finalità
è quella di fare ricerca tecnica generica su bug critici.
Lobiettivo del security hacking è quello di trovare modalità
di intrusione, prevenire lesistenza di virus e ipotizzare nuove
percorsi di attacco ai sistemi; per questa ragione si analizzano ogni
tipo di software, anche le applicazioni close.
Gli ambiti di incontro e discussione su questi temi sono altamente
compositi: vi si trovano ad esempio autorevoli cani sciolti che collaborano
alle discussioni per qualche tempo per poi andarsene dedicandosi ad
altro, sistemisti ed esperti di sicurezza, giovani hacker della scena
underground, ovviamente la polizia e i servizi di ogni tipo, professionisti
freelance oppure legati a società di penetration test o sistemistica
(12).
Questo circuito della sicurezza è tra quelli che maggiormente
suscita fascinazioni e ambiguità nellimmaginario, spesso
superficiale, dellopinione pubblica. Ma i cattivi pirati informatici
sono una banalità mediatica, che riesce addirittura a confondere
gli script kiddies (solitamente ragazzini che lanciano codici altrui
per fare danni, ignorandone il funzionamento) con criminali comuni
che usano le proprie capacità informatiche per semplici furti.
La scena della sicurezza è ben più complessa e articolata,
ma in ogni caso le comunità che scrivono gli exploit con i
quali è possibile penetrare nei server per effettuare crimini
informatici, sono anche quelle che forniscono supporto alle applicazioni
per quel debug altamente tecnico che rende unapplicazione sicura
e realmente affidabile (13).
Scendendo un poco più nel dettaglio, possiamo distinguere tre
tipologie di soggetti connessi alla sicurezza informatica: gli utilizzatori
di exploit, che si pongono come fine la semplice violazione dei sistemi,
sono la categoria più ampia, perché essenzialmente costituiscono
un fenomeno legato alla formazione di unidentità digitale
e allaffermazione del sé. Questi soggetti spesso non
conoscono nessun linguaggio di programmazione, ma nonostante questo
svolgono anchessi un importante lavoro di debug.
Coloro che scrivono lexploit devono invece comprendere il funzionamento
delle architetture di un computer ad alto livello. Hanno la capacità
di comunicare col processore quasi a linguaggio macchina, possiedono
uno stile proprio, ma non per forza sono veri e propri coder, anzi
normalmente nutrono per questi ultimi profondo rispetto. I loro codici
nella maggior parte dei casi sono brevi ed eleganti, ma non particolarmente
articolati rispetto alle creazioni dei coder.
Infine, troviamo i soggetti che studiano i bug e creano nuove tipologie
di exploit. Si tratta di un numero estremamente esiguo di ricercatori
informatici con competenze e lampi di genio fuori dal comune che,
con la loro intelligenza, creano nuovi percorsi e spazi nello scenario
non solo della sicurezza ma della stessa programmazione.
Senza la resa pubblica del lavoro dei security hacker, su siti appositi
come securityfocus.com (14), gli sviluppatori non potrebbero correggere
al meglio i propri codici lasciando i dati alla mercé di chiunque
sia in grado di sfruttarne i bug. Normalmente la scrittura di un exploit
coincide con la scoperta del corrispettivo bug; entrambi i passaggi
vengono realizzati e resi pubblici dalla stessa persona
Dal punto di vista della condivisione dei codici, esistono diverse
tipologie di exploit. In alcuni casi i bug non vengono immediatamente
resi noti, oppure sono conosciuti ma si ritiene che non esistano metodi
per sfruttarne la vulnerabilità. Sono comunemente detti 0day
o zeroday quegli exploit che vengono usati ma di
cui non si conosce subito né il bug né la relativa patch.
Questo accade per ragioni commerciali o di altra varia natura. Si
tratta di exploit dalle qualità strategiche capaci di riconfigurare
i rapporti di forza interni alla scena di sicurezza; il giro di condivisione
di questi codici è molto elitario e limitato a un tempo di
poche settimane entro le quali vengono resi pubblici presso le comunità
di riferimento. La ragione di questa particolarità è
dovuta generalmente a errori negli algoritmi utilizzati (15).
Nella realtà questi ambienti sono altamente apprezzati sia
per la ricerca puramente tecnica sia per laiuto offerto ai coder
e agli utenti finali.
Per quanto spesso malvisti dalle società commerciali, i security
hacker svolgono un ruolo fondamentale per lintero mondo del
software libero (16). La scrittura di exploit, per cercare una metafora
«organica», equivale infatti a una poderosa scossa di
adrenalina per la comunità del software «colpito»:
tale comunità reagisce attivandosi immediatamente nella realizzazione
di unapposita patch (codice correttivo); frattanto a seconda
della propagazione dellexploit tutti gli utilizzatori del software
non potranno che attendere la soluzione o la propria capitolazione.
7. Comunità, azienda, stato: casi interessanti
Come accennato nel primo capitolo, Mozilla è il primo progetto
commerciale impiantato nellOpen Source; rappresenta uno dei
più poderosi colpi inferti al dominio di Microsoft e il primo
passo delle comunità verso le contraddizioni del mondo economico.
I risultati sono stati tecnicamente eccellenti, ma le ragioni politiche
della società Netscape sono facilmente individuabili. Quando
la Netscape nel 1998 decide di rilasciare il proprio browser sotto
una licenza aperta e di investire su una comunità ad accesso
libero, lidea era chiara: ampliare quella fetta di mercato che
stava pian piano perdendo spazio per colpa della Microsoft.
Il duo Mozilla-Firefox? sta velocemente minando il dominio del browser
internet Explorer: nella versione suite (Mozilla, che comprende anche
un client di posta e altre funzionalità), o standalone (Firefox),
è disponibile praticamente per ogni sistema operativo e architettura
e ha funzioni uniche nel suo genere, dal tabbed browsing (molteplici
finestre aperte in contemporanea) allespansione di funzionalità
tramite plugins.
La Netscape ha certamente vinto la battaglia sui browser, diventando
un logo nascosto dietro alle quinte di una comunità libera,
tirandone i fili e indirizzandola verso ciò che ritiene commercialmente
utile grazie a investimenti economici diretti ai programmatori.
Quando Netscape iniziò la propria mutazione era lunico
soggetto commerciale a investire in maniera cospicua nel mondo Open
Source e quindi se si fosse presentata in forma troppo visibile come
progetto commerciale non avrebbe potuto beneficiare della partecipazione
spontanea intrinseca nelle comunità.
La comunità di Mozilla-Firefox?, ormai attiva da otto anni,
presenta unamministrazione molto verticale, basata su un team
centrale coordinatore di singole unità più o meno tecnocratiche;
questa struttura gerarchizzata tende a sviluppare tutti i codici necessari
allinterno del proprio gruppo senza appoggiarsi, se non in rari
casi, ad altri software o librerie, contravvenendo in questo modo
allassioma di interdipendenza tra progetti come forma di autovalutazione.
Un esempio eclatante è il supporto ssl, ovvero le connessioni
criptate secondo uno scambio di chiavi pubbliche e private (rsa) (17),
sviluppato e compilato come blocco unico dal core dei programmatori
di questo progetto. La scelta di Firefox suscita diffidenza perché
la proposta sugli algoritmi di criptazione più conosciuta e
apprezzata sulla scena digitale, ovvero le librerie Openssl, sono
sviluppate da una comunità molto attiva che da anni segue tutte
le novità matematiche sulla criptografia: dallo streaming di
rete alla criptazione di file e allhashing di dati (18).
A un rapido controllo si noterà che il browser in questione
si appoggia a poco più di tre progetti: x server, le librerie
grafiche, le librerie base del sistema. Questaspetto monolitico
è il principio della grande portabilità su altri sistemi
operativi poiché in questo caso lapplicativo viene modificato
solo in minima parte (giusto quella di grafica), lasciando la maggior
parte del codice inalterato. Di contro, questo approccio sarà
causa di una pesantezza e lentezza notevole rispetto a un software
che sappia comunicare maggiormente con ciò che è già
presente e attivo allinterno del sistema.
In ragione di queste scelte tecniche, progetti simili a Mozilla-Firefox?,
come vedremo in seguito, privilegiano un preciso target comunitario:
quello dellutenza medio bassa, la quale si prodigherà
nel debuggare il browser ma a livello di sola funzionalità
del programma; mentre coloro che in un applicativo considerano prima
di tutto laffidabilità del codice saranno decisamente
poco stimolati dalla ridondanza proposta o addirittura disturbati
dalla mancata valorizzazione delle competenze sviluppate da altre
comunità.
Da Netscape in poi, con la nascita del movimento Open Source, nel
corso di qualche anno lo scenario è cambiato a tal punto che
attualmente esistono intere aziende nate con lo scopo di interagire
con il metodo proprio della libera condivisione. Uno degli episodi
più emblematici degli ultimi anni è stato lacquisto
da parte della Novell, unazienda produttrice di hardware, di
una piccola software house, la Ximian, nota per il client di posta
Evolution, un clone di Ms Outlook per Windows. Novell è una
delle tante società che ha giostrato i copyright commerciali
dello unix rimbalzati di mano in mano come il testimone in una gara
economica. Ximian era un team di programmatori Open Source come altri,
e in pochissimo tempo si è trasformata in uno dei poli centrali
per progetti aperti dal valore strategico. Oggi la Ximian detiene
il core di sviluppo di applicazioni come gnome, uno dei desktop più
utilizzati sotto Linux, il già citato Evolution, e Gnumeric,
foglio di stile compatibile con Ms Excel.
I software Ximian infatti sono scaricabili dal sito internet della
Novell e le comunità degli applicativi si basano su server
che come desinenza hanno sempre novell.com.
Per molti la possibilità di lavorare con un contratto per unazienda
che sviluppa progetti open sotto GPL ha rappresentato il raggiungimento
completo di un obiettivo etico; per molti altri però, che ne
intravvedevano le ambiguità politiche, la soddisfazione è
stata solo parziale.
Succede sempre più spesso che gli sviluppatori, consapevoli
delle posizioni equivoche assunte dalle multinazionali, scelgano un
doppio passaporto: da una parte svolgono un lavoro remunerato presso
le majors che investono dellOpen Source; dallaltra proseguono
unattività creativa non retribuita presso progetti indipendenti.
Interessante anche la vicenda di Open Office, il clone della suite
per ufficio Microsoft Office. Acquistato nel 1999 dal colosso Sun
Microsystems, i suoi codici vennero liberati a partire dallanno
successivo. Attualmente, in ragione della sua estrema portabilità,
rappresenta una delle migliori teste dariete puntate verso i
cancelli dellimpero Microsoft.
Ogni release del software è posta sotto una duplice licenza:
lGPL e sissl (Sun Industry Standards Source License), con la quale
la Sun commercializza lapplicativo.
Al pari di Mozilla, OpenOffice? è un applicativo completamente
indipendente e allo stesso modo reca con sé le problematiche
di lentezza e pesantezza.
Programmi come questi possono infatti funzionare al meglio solo su
architetture realativamente recenti. Per questa ragione rappresentano
un ostacolo per chi non ha modo di comprare agevolmente hardware allavanguardia
o cerca di dimostrare che con la tecnologia libera è possibile
riciclare le vecchie architetture.
La velocità di avvio in grafica di un programma è estremamente
favorita dalla compatibilità di questo con le librerie preinstallate;
mancando quel rapporto di interdipendenza che abbiamo descritto, quegli
applicativi completamente separati dal sistema risulteranno inutilizzabili
sotto la soglia del Pentium iii.
Ammantandosi della filosofia propria del Free Software e appoggiando
le battaglie europee per la lotta ai brevetti, il progetto OpenOffice?.org
riceve la collaborazione spontanea e gratuita di centinaia di sinceri
democratici, che ritengono così di contribuire allapertura
orizzontale dei software. In molti, infatti, ritengono sia più
importante mettere a segno una vittoria dellOpen Source sul
mercato piuttosto che affrontare un ragionamento sulle risorse disponibili
per la popolazione esclusa dal paradigma digitale. La crescita parallela,
concordata (il duo Intel-Microsoft? è solo il più noto)
e del tutto assurda, di hardware sempre più potenti necessari
solo a far girare software pesanti, con milioni di funzioni inutili,
è la dimostrazione lampante dellipocrisia delle analisi
in merito al digital divide.
In molti sostengono che in questa fase sia prioritaria la diffusione
su larga scala della consapevolezza della non brevettabilità
del codice e quindi auspicano la sistematizzazione dei cloni di programmi
proprietari come Ms Office. Dal nostro punto di vista la lotta contro
il copyright è certamente imprescindibile, ma riteniamo vada
supportata a partire da una conoscenza critica degli strumenti e non
da un generico «uso di applicativi aperti». Non siamo
disposti a rinunciare alle libertà in nome di una più
conciliante apertura.
Naturalmente cè anche chi non nasconde i propri intenti
meramente commerciali. È il caso di Snort (19), uno tra i più
famosi e utilizzati Intrusion detector; questo tipo di software serve
per rilevare e segnalare intrusioni sul sistema. Marty Roesch, sviluppatore
e mantainer del progetto, in molte interviste ha chiarito la sua posizione
di fronte al mondo del codice aperto. Ha definito il proprio lavoro
come un bellesperimento commerciale: sviluppare con strumenti
Open Source semplifica il lavoro, permette di avere codice più
sicuro e più in fretta.
Snort è distribuito sotto licenza GPL, ma attorno a esso è
nata una società diretta dallo stesso Roesch che distribuisce
moduli aggiuntivi close a pagamento. I moduli sono aggiunge funzionali
al software e permettono di estendere regioni del programma in maniera
quasi illimitata. In poche parole lutente può scaricare
la versione base di Snort gratuitamente e sondarne il codice, ma se
desidera considerare le evoluzioni del software dovrà pagarne
i moduli senza poter accedere ai nuovi codici.
Diametralmente opposta è la visione della comunità kde,
la quale, nel suo manifesto (20), scrive di definirsi free in ogni
aspetto del termine.
kde, però, è finanziata dal governo tedesco dal 2003,
ovvero da quando la Germania iniziò a investire nellOpen
Source per passare tutta lAmministrazione Pubblica a gnu/Linux.
In questo senso kde e Suse sono state scelte abbastanza obbligate
dal momento che Suse è una distribuzione nata e sviluppata
in Germania e la comunità tedesca kde è una tra le più
attive.
kde propone un desktop grafico free basato su server x, ma va ricordato
che la sua grafica è frutto delle librerie qt, sviluppate close
dalla Trolltech (21) e rilasciate solo nel 1999 con una licenza Open
Source. Quindi, per quanto kde si sia sempre definito libero, ha avuto
per oltre quattro anni di sviluppo una contraddizione difficile da
gestire; ancora adesso le librerie qt (vedi Appendice: Le librerie
qt) non sono sviluppate da una comunità libera, ma dal team
ufficiale della Trolltech, società con relazioni commerciali
talmente ramificate da coprire ogni aspetto del mondo dellit.
Per la somma di 210 milioni di dollari nel gennaio 2004 Novell ha
acquisito suse: con questa mossa, diventa il primo fornitore di soluzioni
gnu/Linux per lazienda, dai desktop ai server. I toni sono stati
trionfalistici: «Novell sarà lunica azienda software
da 1 miliardo di dollari con una distribuzione Linux e con personale
tecnico in tutto il mondo in grado di fornire supporto».
Sempre nel gennaio 2004 Novell ha rinnovato il proprio accordo con
ibm per circa 50 milioni di dollari. Laccordo permette a ibm
di distribuire suse Linux Enterprise Server con i server ibm. Novell
apre così un nuovo canale per distribuire suse Linux in tutto
il mondo.
È interessante seguire le peripezie finanziarie di questi colossi
e le loro alleanze al di fuori del mondo specificamente informatico:
aziende che si fanno paladine dellapertura dei codici, contro
la chiusura di Microsoft, ma poi nei fatti sono mosse dai medesimi
interessi commerciali di profitto a qualunque costo e non certo da
uno sfrenato desiderio di condivisione del loro know-how tecnologico.
Gli investitori di suse Linux sono e-millenium1, AdAstra? Erste Beteiligungs
GmbH e apax Partners & CO. Apax (un termine greco che significa
«una volta sola») è una società di servizi
finanziari di «venture capital e private equity», gestisce
12 miliardi di euro nel mondo (dato 2001), con uffici a New York,
Londra, Parigi, Milano, Monaco, Madrid, Tel Aviv, Stoccolma e Zurigo.
Ultimamente ha fatto shopping in Italia stringendo un accordo per
8,6 milioni di dollari per finanziare litaliana Kelyan Lab,
azienda del gruppo Bernabè (partner tim), per Net solutions
avanzate. Con le Telco italiane sembrano proprio essere affari doro
per la Apax, che ha incrociato anche Telecom nei propri affarucci
israeliani. Apax infatti è nota (spesso accostata alla Jerusalem
Global Ventures) anche per le sue operazioni in Israele dove investe
soprattutto in microelettronica e materiali avanzati, settori indissolubilmente
legati alla produzione di armi nonché al controllo militare
del territorio; per questo è stata oggetto di boicottaggio.
AdAstra? Erste è una società di venture capital con
sede a Monaco di Baviera: Lead Investor è la HypoVereinsbank?,
la seconda banca in Germania.
Questultima fa parte del consorzio di collocamento della Deutsch
Post di cui azionista di maggioranza è il governo tedesco.
Inoltre AdAstra? Erste nellottobre 2004 ha investito parecchi
milioni di dollari a sostegno della Biomax, una società di
bioinformatica.
Insomma dietro alla «libera» suse, ora la «aperta»
suse-Novell, cè la crema del venture capital tedesco.
In Francia invece il ministro della Funzione pubblica Renaud Dutreil,
ha dichiarato nel giugno 2004 che, per aggiornare una parte dei computer
dellamministrazione statale, intende chiamare in causa i fornitori
di programmi Open Source, con uniniziativa mirata a contenere
il deficit pubblico.
«Non abbiamo intenzione di dichiarare guerra a Microsoft o alle
compagnie informatiche statunitensi», ha precisato Dutreil in
unintervista. «La competizione è aperta e ci auguriamo
di riuscire a portare in fondo un taglio dei costi di almeno il 50%,
ha aggiunto il ministro» (20).
Come in Germania il consorzio di aziende si è dato disponibile
ad agevolare il business è formato da ibm e Novell-suse
8. Gare
Sfruttando la meritocrazia e la competizione insite nel mondo dellhacking,
il desiderio di creare un hack sempre migliore, vi sono state anche
particolari derive che sono riuscite a influenzare persino la fsf.
I sistemi di infiltrazione e finanziamento più o meno nascosti
promossi dagli investitori commerciali in un mondo regolato
essenzialmente dalle licenze sono sempre più palesi.
Fra le novità indicative del cambiamento in corso nel mondo
dellOpen Source le gare a progetto sono certo la più
notevole. Si tratta di vere e proprie sfide sulla scrittura di intere
parti di codice con premi economici ai vincitori: chi prima consegna
o chi trova e corregge più velocemente i bug riceve infatti
una somma tra i 200 e i 1200 dollari.
Le applicazioni più eclatanti di questa strategia sono state
messe in atto dalle comunità di mono e .gnu, progetti apparentemente
(22) in competizione fra loro per la clonazione del framework .net,
sviluppato da Microsoft, su piattaforma gnu/Linux.
mono è gestito dalla ximian, e quindi di proprietà dalla
Novell, mentre .gnu è curato dalla Free Software Foundation.
.net è unidea e una implementazione Microsoft di un terreno
digitale (framework) sul quale possono girare programmi scritti nei
più diversi linguaggi (c++, Visual Basic, c# e altri) con lobiettivo
di rendere gli applicativi portabili da un computer allaltro,
anche in streaming, su ogni sistema Windows (23).
mono e .gnu sviluppano un medesimo framework su piattaforma gnu/Linux
con lidea di far girare applicazioni Microsoft e in genere per
Windows anche su sistemi operativi liberi. Avere un terreno digitale
su cui è possibile programmare con un linguaggio intermedio
tra il linguaggio macchina e il linguaggio scelto dal programmatore
rende ogni programma teoricamente portabile su qualsiasi sistema operativo
dotato di tale framework.
Il linguaggio intermedio è un qualcosa di commestibile dal
framework che lo esegue in linguaggio macchina per il processore e
il sistema operativo su cui sta girando. In altre parole il programmatore
potrà scegliere il suo linguaggio, il compilatore lo trasformerà
in linguaggio intermedio, il framework lo eseguirà su ogni
architettura.
Lidea è già stata ampiamente implementata e utilizzata
con alterne fortune. Java, ad esempio, si basa su una Virtual Machine
che rende un applicativo scritto in questo linguaggio portabile su
ogni sistema operativo dotato del framework opportuno. (24) In sostanza,
lo stesso programma Java può girare su un pc, su un Mac, su
unAlpha Station ma anche su un cellulare o su una lavatrice
(25).
Un altro modo per conseguire il traguardo della portabilità
è quello di scrivere applicazioni in linguaggi interpretati,
che quindi, non essendo compilati, girano ovunque ci sia un software
capace di comprenderne la sintassi.
Linnovazione di .net è quella di aver reso la portabilità
un elemento nativo del compilatore. In questo modo una qualunque applicazione
scritta in un qualunque linguaggio girerà su ogni sistema dotato
del framework .net.
Progettare questi compilatori implica notevoli modifiche a progetti
da tempo già affermati (in particolare gcc) e per il mondo
Open Source la scrittura da zero di nuovi compilatori per c# e Visual
Basic che sono linguaggi proprietari di Windows.
Entrambi i gruppi si sono confrontati con la complessità del
lavoro intrapreso e hanno optato per una scelta operativa similare:
pagare chi consegnava per primo una delle parti più «noiose»
da effettuare. Questi codici riguardano per lo più la grafica
e le comunicazioni di rete mentre lo sviluppo delle parti più
complesse e interessanti viene lasciato alle comunità. Ricorre
a questo metodo di sviluppo anche Mozilla: in questo caso però
le gare sono limitate ai bug e il contributo economico è proporzionato
alla complessità del problema risolto.
Gli esempi di comunità spurie o metodi eterodossi sono innumerevoli.
Potrebbe sembrare del tutto incidentale, superflua, la quantità
di dati tecnici posta sul piatto. In fondo, sembrerebbe un banale
scambio di tempo-uomo per programmare macchine in cambio di denaro.
Vedremo nel prossimo capitolo come questo sia in realtà un
problema relativamente marginale, o comunque derivato: del resto,
abbiamo già sottolineato che lo spirito della fsf non sia contro
il mercato, lo contempla fin dalle origini come una delle molteplici
possibilità ma certo non la più importante. Il problema,
dunque, non è il denaro, bensì le relazioni di potere.
La questione si articola riguardo allindividuo e alla comunità
di riferimento.
Siamo arrivati fin qui perché scoprendo i nervi, le viscere
delle comunità in alcuni passaggi critici, lelemento
comunitario sembra dissolversi. Le gare indette anche da .gnu sono
un elemento di verifica lampante di come lequilibrio complesso,
lhumus delle comunità, si riduca a una prestazione seriale
di competenze in cambio di identità. Dilatare il tempo dellemergenza,
continuare a insistere sulla necessità di risultati, subito,
adesso, e sempre, significa mutuare una metodologia propria della
produttività capitalistica. Ma dilatare il tempo nellurgenza
perenne (centrare gli obiettivi a ogni costo) corrisponde a un movimento
di contrazione compulsiva nella quale il desiderio non ha più
spazio. Il potere tecnico dellindividuo (semplice atomo e non
parte di una comunità) si cede in cambio di un riconoscimento
troppo ristretto, ridotto, non condiviso, senza adesione a un piacere
più ampio. Il desiderio deve allora essere sostituito con il
denaro: questa è la nuova identità trovata. Scambio
di know-how tecnico per alimentare una dipendenza dallultimo
ritrovato, dallo stare sulla breccia a qualsiasi prezzo: sopravvivenza
immediata, non più hacking creativo.
A questo livello, la ricaduta nella realtà è completamente
priva di stile. I piani vengono schiacciati, banalizzati, e ridotti
a un puro, semplice, scambio di tempo, denaro, potere.
Si apre uno scenario a cui si aggiunge, oltre che la sfida tecnica,
un confronto e una lotta serrata sui rapporti di forza nel lavoro
telematico e dei diritti digitali in seguito alla vittoria, de facto,
della GPL. La difficoltà ora sta nel comprendere che letica
di un software non sta solo nella licenza, ma nellinterazione
tra le modalità di distribuzione e la metodologia di sviluppo,
poichè il sistema si è fatto più complesso.
Da una parte i programmatori dovranno fare i conti con il dilagante
vortice di precarietà della quale, se isolati da un confronto
critico, saranno facilmente preda; dallaltra i futuri consumatoriutenti
di prodotti Open Source dovranno affinare le proprie capacità
autoformative al di là della veste userfriendly di un
qualunque applicativo.
Si tratta di rendersi consapevoli degli aspetti multi-identitari che
il mondo digitale reca con sé, sviluppandone al massimo la
tensione ricombinatoria.
Per esempio: per i coder, utilizzare un doppio passaporto (triplo,
ecc.), costruendo la propria identità intorno a molteplici
scelte e attività: compiti magari noiosi (la grafica dei pulsanti)
ma retribuiti, compiti non creativi ma utili a un progetto a cui si
aderisce, compiti creativi svincolati da riconoscimenti monetari,
e così via, giocando a diversi livelli.
Più in generale, anche in senso non tecnico, è necessario
rendere pubblici i modelli organizzativi della propria équipe
di lavoro, in unottica di apertura, condivisione, implementazione
collettiva. È necessario implementare le mediazioni economiche
che da singoli o comunità si pongono a garanzia della propria
indipendenza. Sabotare in qualità di utenti smaliziati le semplici
barriere ideologiche che impediscono la comunicazione diretta oltre
lo steccato del proprio posto di lavoro.
Tuttavia questi sarebbero temi buoni per un manuale di autodifesa
digitale dagli sciacalli del know-how nellera della mezzadria
globalizzata; gente ridicola che si riempie la bocca di parole come
skill, mission, framework, workaround, development, naturalmente senza
aver mai messo le mani su una macchina né tanto meno aver mai
lavorato davvero a un progetto condiviso; perciò ci riserviamo
di scriverne in altro ambito.
Le pratiche delle comunità, in ogni caso, sono di capitale
importanza per la comprensione delle dinamiche in atto. Prima di vedere
come gli individui agiscono e interagiscono nei contesti comunitari,
diamo unocchiata alle relazioni che il mondo delle comunità
Open Source ha stabilito con il mercato.
note
1 . È curioso che nel mondo del codice le pratiche siano spesso
non codificate, non scritte, o meglio, vengano codificate ed esplicitate
solo quando si pone un problema concreto da risolvere... Un approccio
sicuramente improntato alla funzionalità, al desiderio di creare
qualcosa che dia soddisfazione piuttosto che a realizzare una solida
costruzione coerente e inattaccabile, o riconducibile in modo inequivocabile
a una qualsiasi corrente di pensiero.
2 . Si vedano, in particolare sulleconomia del dono riguardo
al software: Eric S. Raymond, op. cit.; la micro introduzione al tema
di Francesco Varanini, http://www.bloom.it/vara39.htm (cache). Il
testo di riferimento rimane comunque Marcel Mauss, Saggio sul dono,
Einaudi, Torino, 2002 (ed. or. Essay sur le don, Paris, PUF, 1950
1924). In sostanza, la descrizione antropologica dei rituali del dono
compiuta da Mauss (come lanello di kula polinesiano e il potlach
fra le tribù dei nativi americani) viene applicata allattuale
congiuntura economica: spesso, va detto, con eccessivo semplicismo
e toni profetici sullavvento di un capitalismo postmoderno
o di uneconomia della complessità. Sicuramente lo studio
delle teorie sul dono in ambito economico è un passo in avanti
rispetto alla chiusura concettuale del liberismo classico; inoltre,
riscoprendo antichi rituali, queste teorie contribuiscono alla formulazione
di un pensiero critico sullidentità, poiché il
legame sociale appare il fine e non il mezzo per laffermazione
dellio e la costruzione dellidentità stessa. Il
dono è però un concetto ambiguo e ambivalente, colmo
di aporie come tutto ciò che riguarda lantropologia.
I discorsi sullopen economy (si veda ad esempio http://www.openeconomy.org/)
dovrebbero come minimo tener presente le riflessioni di Jacques Derrida
Se la persona cui dono qualcosa ne è consapevole e mostra
quindi la sua riconoscenza dicendomi ad esempio: ho ricevuto
questo da parte tua, grazie, questa semplice gratitudine e questa
presa di coscienza mettono in moto un circolo economico e un gesto
di restituzione che, come tali, distruggono il dono. http://lgxserver.uniba.it/lei/rassegna/990218.htm
(cache); si veda anche Jacques Derrida, Donare il tempo, Cortina,
Milano, 1996 (ed. or. Donner le temps, Editions Galilée, Paris,
1991).
3 . Lo strumento cardine della condivisione nel lavoro in rete è
il CVS (Concurrent Versions System), un programma che permette di
modificare un insieme di file tenendo traccia di ogni singola modifica,
in modo da poter risalire con facilità a una versione precedente
in caso di errori. Parlando di CVS si intende un metodo di lavoro
ma anche un software vero e proprio. Tuttavia, come è usuale
nel mondo del software libero, non esiste mai solo un applicativo
che copre una funzione, ma si può scegliere tra una vasta gamma
di possibilità. Oltre al CVS (http://www.gnu.org/software/cvs/
(cache)), citiamo quindi anche SVN (SubVersion http://subversion.tigris.org
(cache)), un software altrettanto valido e utilizzato.
4 . SITOGRAFIA: Il mercato Macintosh.
5 . Fetchmail è un esempio di software nato dagli scheletri
di altri. Si tratta di un vero e proprio patchwork realizzato da Raymond.
SITOGRAFIA: Fetchmail.
6 . Sito ufficiale http://www.debian.org (cache)
7 . Debian sostiene la FSF anche nello sviluppo di HURD: http://www.debian.org/ports/hurd/
(cache)
8 . Sito ufficiale http://www.slackware.com/ (cache)
9 . System V e BSD. UNIX System V (spesso chiamato semplicemente System
V), era una delle versioni del sistema operativo proprietario UNIX.
Sviluppato dalla AT&T e rilasciato nel 1989, ne furono sviluppate
4 versioni successive (release). System V Release 4 (o SVR4), che
unisce caratteristiche del System V, di Xenix e di BSD, è sicuramente
stata la più famosa, introducendo numerose caratteristiche
tipiche dei sistemi unixlike, quali il sistema di Sys V init
scripts (/etc/init.d), usato per lavvio e lo spegnimento del
sistema, e le System V Interface Definition, uno standard che definisce
quello che dovrebbe essere il funzionamento dei sistemi System V.
Berkeley Software Distribution (più noto come BSD) è
invece il primo e lultimo flavour (versione) che tenta il distacco
dalla linea concepita da AT&T; BSD soprattutto ha significato:
nuove chiamate al kernel; una nuova concezione dei processi di boot,
configurazione dei servizi, gestione di account, dischi e dispositivi;
nuovi comandi. Timeline aggiornata sulla storia di Unix: http://www.levenez.com/unix/
(cache)
10 . Sito ufficiale http://www.gentoo.org (cache)
11 . Esistono poi altre tipologie di distribuzioni chiamate LiveCD
(Live Distro), ovvero cdrom autoavvianti (ma ormai anche minidistribuzioni
per penne USB o altre memorie di massa) che rendono subito utilizzabile
un sistema GNU/Linux senza bisogno di installazione; ne esistono per
varie architetture (PC, PowerPC, ecc.). Knoppix, Gentoo livecd, ecc.
(ma ormai anche le principali distribuzioni commerciali offrono una
versione live) sono alcuni esempi fra i più noti di una lista
molto lunga: http://www.frozentech.com/content/livecd.php (cache)
12 . Le società di penetration test producono questi codici
o semplicemente vendono come servizio alle aziende test per implementare
la sicurezza e svelare violazioni dei sistemi informatici.
13 . Il server di posta Qmail, oggi largamente utilizzato, non è
soggetto ad aggiornamenti dal 1997 e non perché il progetto
sia morto, tuttaltro: da quella data non necessita di correzioni
legate a problemi di sicurezza, ovvero nessuno fino a oggi è
riuscito a trovare dei bug. Questa insolita circostanza ha destato
curiosità a tal punto da suscitare il desiderio di una vera
e propria sfida, infatti per il primo che riuscirà a trovare
una falla di sicurezza nel programma cè un simbolico
premio in denaro (1000 dollari). Leccentrico programmatore Daniel
J. Bernstein, autore del codice di qmail, ha pubblicato al link http://web.infoave.net/~dsill/dave/qmail/qmailchallenge.html
le regole per partecipare alla sfida, tuttora imbattuta.
14 . La media degli exploit pubblicati su securityfocus.com si aggira
intorno ai 5 giornalieri. La società è stata fondata
da Elias Levy meglio conosciuto come aleph1 alias lhacker che
ha redatto il primo testo sulla scrittura di exploit. Si veda http://www.phrack.org/phrack/49/P4914.
Nellagosto 2002, dopo meno di un anno dalla fondazione (ottobre
2001) il portale è stato acquistato dalla Symantec, nota società
di antivirus.
15 . La trasmissione di queste conoscenze è, curiosamente,
orale. Non esistono siti che riportino aneddoti dettagliati circa
gli zero-day e il loro ciclo vitale.
16 . SITOGRAFIA: SHA1, Secure Hashing Algoritm. Lalgoritmo SHA1,
usato in molti programmi di criptazione, restituisce in alcuni casi
lo stesso hash date informazioni differenti: questo bug potrebbe essere
utilizzato per la scrittura di exploit.
17 . http://en.wikipedia.org/wiki/RSA (cache)
18 . Sito ufficiale http://www.openssl.org (cache). Il gruppo rilascia
un software stabile ed disponibile per qualsiasi programma voglia
usufruire di criptazione dati dal 1996 a oggi ed è de facto
uno standard nel mondo del codice libero.
19 . http://www.snort.org/ (cache)
20 . Il Manifesto etico di KDE: http://www.kde.org/whatiskde/kdemanifesto.php
(cache)
21 . SITOGRAFIA: Trolltech. Vedi Appedice: Le librerie QT.
22 . http://www.unita.it/index.asp?SEZIONE_COD=HP&TOPIC_TIPO=&TOPIC_ID=35567
(cache) Una curiosità: nellaprile 2004 Sun e Wal Mart
hanno stretto un accordo per distribuire al dettaglio i PC Microtel
dotati della distribuzione GNU/Linux di Sun Microsystems.
23 . I progetti Mono (cache) e .GNU (cache) non competono fra loro
ma coprono due aspetti del panorama generato dallavvento di
.NET. Mentre Mono rappresenta il porting quasi completato del framework
.NET di Microsoft sotto GNU/Linux, .GNU crea lalternativa sfruttando
le stesse tecnologie. Contrastando una politica di centralizzazione
dei dati portata avanti dalla Microsoft, la GNU vuole utilizzare gli
stessi strumenti per decentralizzare le informazioni e i programmi.
In pratica entrambi i progetti hanno completato lo sviluppo di compilatori
pressoché identici per i linguaggi C, C# e stanno procedendo
con la scrittura di quelli per java e Visual Basic. Mentre .GNU ha
rilasciato il suo webserver per realizzare groupware, la Mono ha concluso
anche il supporto per i linguaggi ADO.NET e ASP.NET oltre alle librerie
grafiche GTK. Segnaliamo un interessante dibattito sulle ragione per
cui proseguire lo sviluppo di progetti che di fatto aumentano linfluenza
di Microsoft nel panorama Open Source: http://www.theregister.co.uk/content/4/35481.html
(cache)
24 . La portabilità di un software consiste nella sua idoneità
di funzionamento su sistemi operativi diversi, architetture dissimili
e processori differenti, senza bisogno di ricompilazioni o modifiche.
Non bisogna confondere la portabilità col fatto che molti programmi
esistano sia in versione Windows che GNU/Linux (o per Apple e altre
architetture ancora), perché spesso questa possibilità
è dovuta a modifiche anche sostanziali del codice.
25 . Vi sono diverse ragioni per evitare lutilizzo di java,
in primis la lentezza e leccessivo dispendio di CPU; rimane
comunque un ottimo esempio di portabilità elevata attraverso
un framework condiviso, anche se nello specifico è necessaria
una Java Virtual Machine diversa per ogni macchina e installata per
eseguire i codici Java.
V HIC SUNT LEONES
1. Formazione permanente
Educazione e formazione sono due elementi cardine delleconomia
dellera informazionale.
È evidente, ad esempio, che una scuola situata in una condizione
di isolamento relazionale, in un mercato sempre più improntato
alla trasmissione dellinformazione, non riuscirà a fornire
le capacità di interagire con il mondo circostante: si trasformerà
quindi in un terreno fertile per la cosiddetta irrilevanza sociale
(1).
Simili analisi sono valide e condivisibili per quanto riguarda la
sistematizzazione di alcuni processi; decisamente meno convincenti
sono però le conclusioni.
Sottolineare limportanza della condivisione e del networking,
ribadendo però continuamente il ruolo di garanzia delle istituzioni,
conduce sempre a sostenere la possibilità di formare persone
per un altro capitalismo possibile. Lottica proposta
rientra a pieno titolo nei meccanismi di mercato e di produzione,
anche informazionale: è improntata al consumo e basata pur
sempre su modelli statici e repressivi, come solo lo possono essere
le istituzioni e il loro sistema di rappresentanza e delega.
La rivalutazione della democrazia reale sembra essere
il leitmotiv dellintellighenzia socialdemocratica, ben decisa
a conquistarsi la maggiorità ancor prima della maggioranza;
questo orientamento non si pone affatto problemi riguardo invece a
percorsi che ben più profondi e critici tendono
a invertire il senso: non una base più ampia, che garantisca
maggior consenso e dunque maggior potere, ma più basi autogestite,
fittamente intrecciate fra loro in contesti di affinità (2).
La formazione, una delle chimere dellera informazionale, considera
lutente come produttore e consumatore: sfuma le differenze,
finge di ampliare le scelte, salvo poi ridurle a quelle realizzabili,
praticabili sul mercato. Questa formazione serializzata e leducazione
alla disponibilità totale tende a trasformare anche il tempo
dellozio in generale il tempo improduttivo
e libero in una produzione sistematica
attraverso il consumo, lenfasi sulloccupazione e la chiusura
della proprietà delle informazioni.
Nellambito tecnologico un esempio paradigmatico è quello
delle patenti europee informatiche (ECDL): un attestato che rivela
non capacità critiche ma un utilizzo da automa del computer,
con Windows come solo sistema operativo. La patente di guida del computer
è limitata quindi solo alluso e non certo alla comprensione
di come funziona una macchina, al porsi domande, a percepire la possibilità
di una formazione permanente di ben altro livello, che le comunità
invece sono in grado di creare.
Viviamo in unepoca di produzione su larga scala anche relativamente
alle competenze, tesa alla creazione di produttori e consumatori degli
stessi prodotti, alla rincorsa costante degli aggiornamenti, perché
la formazione permanente ma, come per le merci, non durevole
nel tempo, nonostante i buoni auspici socialdemocratici rimane
poco interessata alla competenze e allinterdisciplinarietà.
Ciò che conta non è lindividuo, ma piuttosto il
circolo virtuoso (per il mercato) di creazione di nuove
identità (profiling) e bisogni, tanto per chi deve formarsi,
quanto per i consumatori finali (3).
La formazione permanente, ai valori del mercato e della globalizzazione
nelle sue accezioni più becere, è uno degli strumenti
più sottili ed efficaci attraverso i quali le odierne società
di massa producono latomizzazione e il silenzioso consenso per
una gestione più comoda, ma democratica... della cosa nostra
pubblica (4).
Le comunità digitali in questo senso sono un esempio di formazione
permanente autorganizzata che si sostituisce in parte allo stato,
al pubblico. Il concetto stesso di welfare, da lungo tempo ormai comatoso,
non pare possa essere resuscitato da quelle componenti formative (le
comunità, lauto apprendimento scelto dal singolo), le
quali però in pratica sono in grado di sostituirlo senza creare
dipendenza da un organo istituzionale, che forma per produrre e al
contempo esclude dalla libertà di cercare forme alternative.
Né la socialdemocrazia, né tanto meno le prospettive
liberali di promozione del terzo settore, del no profit, e di sviluppo
di economie civili (5) offrono alternative soddisfacenti.
La direzione delleducazione globalizzata produce atomizzazione
e alienazione: è centrale la conoscenza privata nel mondo del
lavoro, fatto di skills e forte verticalizzazione delle competenze,
senza alcuna possibilità di condivisione; anzi, proprio lesclusività
delle conoscenze offre o preclude la possibilità di accedere
al lavoro.
Formazione al sistema, da un lato; dallaltro, atomizzazione
individuale. Gli individui sono guidati, attraverso consigli suadenti
e luccicanti (pubblicità e advertising in genere), ma anche
grazie a strumenti di coercizione e terrore piuttosto rozzi (lo spauracchio
della disoccupazione, della povertà, della recessione e dellesclusione),
su un terreno di accettazione formale dello status quo. In questo
modo, nessuno è spinto a mettere in dubbio i dogmi della produzione
ad ogni costo. Eppure, più produciamo, meno abbondanza sembra
esserci: stranamente, siamo sempre in una società della scarsità.
Le specificità, irrigidite in compartimenti stagni, favoriscono
una situazione di consapevole assenso a qualunque proposta. Va tutto
bene, caro consumatore utente! Stai tranquillo!
Il consumatore consuma un prodotto. Lutente usa un servizio.
Il servizio è fornito dallo stato, dalle istituzioni. Nel caso
della rete di internet non solo consumatore è un termine inadatto,
perché propriamente parlando non si consuma nulla, ma anche
lutente si relaziona con comunità, aziende e istituzioni
più o meno strutturate e intrecciate fra loro.
La pericolosa scommessa della strategia Open Source è proprio
questa: oscillare continuamente fra la rassicurante proposta di democrazia
controllata della maggioranza e lefficacia, rapida e adeguata,
del modello aziendale.
LOpen Source infatti riesce a coniugare una concreta possibilità
di scelta fra strumenti aperti e la razionalità
economica classica. Nessuna contraddizione, nessuno scontro. Lesempio
più chiaro è la strategia di Apple: offrire non solo
prodotti tecnicamente allavanguardia, ma anche altamente usabili
dal grande pubblico, con uno studio ergonomico perfetto alle spalle,
e la possibilità di personalizzare la propria macchina fin
nei minimi dettagli, utilizzando addirittura software libero, come
nella migliore tradizione hacker (6).
Come abbiamo anticipato nel capitolo precedente, in uno scenario desolante
di capitalismo dal volto umano, una via di uscita sembra
intravedersi: la scelta personale.
2. Origini: metodi e scelte
La formazione attuale si picca di istruire, ma certo non mette in
discussione origini e modalità di trasmissione dei saperi:
è molto concentrata sullesito, poco sui metodi e processi.
Lhacker, nella rete priva di stato e organi istituzionali, trova
nella comunità e nel concetto basilare di meritocrazia continui
stimoli alla preparazione e alla formazione, sia sotto forma di aggiornamenti
tecnici, ottenuti dalla condivisione (sharing) di competenze, sia
sulla storia di cui fa parte, ovvero quella delle comunità
hacker e delle sue caratteristiche etiche.
Idealizziamo la figura dellhacker. Studio appassionato, scelte
di autoformazione fuori dal mercato, curiosità e scambio con
le comunità di riferimento, reti di relazioni ampie e variegate.
Lhacker non si accontenta di racconti, veritieri o meno, ma
ha bisogno di scorgere la fonte, di toccare con mano la sorgente,
lorigine. Metterci sopra le mani.
Questo è lo spirito della formazione che ci piace: poter aprire,
vedere dentro, quanto ci viene raccontato, con la possibilità
di risalire alla fonte e poter reinterpretare quanto appena appreso,
stratificare le conoscenze individuali e contribuire a quelle collettive.
La scelta di un utente nellutilizzo di un software libero, rispetto
a uno proprietario, va nella stessa direzione, quella di riappropriarsi
dellorigine, del codice.
3. Autoformazione
Si delinea un modello di formazione molto distante da quello proposto
dalle élites tecnoburocratiche. Cerchiamo di scandirne i momenti:
riappropriazione, rispecchiamento (modifica e personalizzazione),
rappresentazione; nel complesso questo processo di formazione crea
un equilibrio omeostatico (7) fra i singoli individui e le comunità
a cui appartengono.
Lo scarto fondamentale rispetto alla formazione permanente globalizzata
è la scelta. Restringiamo momentaneamente la prospettiva al
coder puro, colui che scrive codice. Il coder sceglie di partecipare
a un progetto, o di crearne uno nuovo, spinto essenzialmente dal proprio
gusto personale, da un desiderio di creazione nel quale investe il
proprio tempo e la propria intelligenza. Il primo passo è senzaltro
metterci sopra le mani, in senso hacker: un movimento
di riappropriazione, smontaggio e comprensione di un oggetto. Lindividuo,
in questo contesto, non è affatto una tabula rasa da formare
secondo un paradigma calato dallaltro, ma si autoforma
sperimentando, ampliando in continuazione la propria cassetta
degli attrezzi. Perciò è innegabile che un coder
venga profondamente influenzato dallo stile di altri coder, dalle
modalità di risolvere un dato problema, dalla struttura di
alcuni algoritmi che trova particolarmente interessanti e funzionali.
In un secondo momento, lo stile personale che il coder sviluppa, che
rispecchia la sua personalità, trova posto in un contesto di
condivisione: il codice che crea entra in un circolo comunitario,
viene condiviso e influenza a sua volta lo stile di altri coder. I
codici rispecchiano gli individui che li creano, e informano di sé,
modificandole, le comunità che implementano o anche semplicemente
utilizzano quel codice.
Naturalmente le cose si fanno assai più complesse se consideriamo
che i coder puri sono animali rari, come del resto la purezza in sé
non è una caratteristica saliente di nessun individuo particolare
(a meno che costui non labbia coscientemente scelta per autodefinirsi).
È difficile che un coder scriva solo e sempre codice nella
sua vita, cioè, estendendo il concetto, è quasi impossibile
che un individuo possa essere descritto completamente da una sola
qualificazione. Probabilmente farà anche altre cose, diverse
in diversi momenti della sua vita, come ogni individuo è indescrivibile
da un solo punto di vista: sarà situato fisicamente, sessualmente,
linguisticamente, politicamente, storicamente, ecc.
Banalmente, mentre un atomo formato in permanenza a essere il più
possibile intercambiabile con qualsiasi altro atomo deve sviluppare
caratteristiche standard per essere appetibile (al mercato globale),
un individuo sarà invece tanto più interessante per
le comunità e per gli altri individui quanto più unico,
dotato di caratteristiche particolari, miscela irripetibile di differenti
ingredienti ed
esperienze. È probabile dunque che un individuo appartenga
a diverse comunità contemporaneamente (culturali? politiche?
tecniche?).
Appartenere a una comunità significa allora senzaltro
sentirsi rappresentati da quella comunità, e non certo perché
si ha diritto di veto o potere di voto, ma perché si influenza
direttamente limmagine della comunità stessa, si influenzano
gli altri individui attraverso le proprie creazioni, e ci si fa influenzare
da loro. Si cambia, e si inducono cambiamenti. Autoformazione significa
farsi individui nel farsi comunità.
Nel momento in cui la comunità, per una serie di ragioni, non
rispecchia più la propria individualità, le possibilità
sono molte: creazione di una nuova comunità (forking) (8),
introduzione di nuovo codice che ci rappresenti maggiormente, ecc.
Si tratta in ogni caso di un equilibrio dinamico, di una omeostasi
e rinegoziazione continua della propria individualità e della
conformazione della comunità nel tempo.
Non si possono immaginare individui statici che intervengono in comunità
perfettamente e compiutamente codificate, aderendo totalmente a un
manifesto o a una dichiarazione dintenti (o a una costituzione
e relativo corpus di leggi, se ci forziamo a immaginare uno stato
come una comunità), sottomettendosi al diktat della maggioranza
o peggio a leggi teoricamente uguali per tutti, ma mai effettivamente
negoziate dai soggetti. La formazione invece deve necessariamente
investire lindividuo e la comunità, avere il coraggio
di immaginare nuove vie di fuga, nuove possibilità di individuazione
poiché si cresce, si muta che non siano flessibilità
totale allinflessibile mercato, ma operazioni di riappropriazione,
rispecchiamento e dunque rappresentazione di sé in un contesto
comunitario.
4. Scarti e vie di fuga: lo stile
Immaginare percorsi di autoformazione significa dunque operare scarti
rispetto a una presunta norma. In ambito software, immediatamente,
il pensiero va allorganizzazione di corsi a diversi livelli;
alla scrittura di manuali, howto, guide; allutilizzo di
strumenti di scrittura e creazione comunitari; a possibili laboratori
ed esperimenti per risolvere problemi pratici o anche solo per giocare
con una nuova tecnologia. Lidea che attraverso metodi condivisi
sia possibile aumentare e stratificare il livello complessivo di competenze
ma soprattutto di piacere che una determinata attività
crea riposa sulla convinzione che le conoscenze possano e debbano
essere il più possibile
diffuse e contaminate e non appannaggio di unélite di
tecnocrati. Se una conoscenza non è comunicabile, nella migliore
delle ipotesi è un bel gioco solitario, nella peggiore è
uno strumento di potere potenzialmente pericoloso e repressivo. La
condivisione è la migliore garanzia che abbiamo.
Naturalmente, poichè non tutto si può dire con un codice
qualsiasi, ma esistono codici più o meno appropriati a seconda
del target che si vuole raggiungere, il come si comunica
una conoscenza è fondamentale almeno quanto il cosa
si comunica. O, per meglio dire, si tratta di due facce della stessa
medaglia.
Questo come, cioè lo stile, il metodo, è
il discrimine essenziale nellutilizzo di un codice. Dal punto
di vista dellutente, che al di fuori dellambito informatico
diventa il ricevente del messaggio, lo stile è
la modalità con cui un contenuto gli viene passato. Nella realtà,
spesso, il messaggio passa nei due sensi, ovvero accade che lutente
risponda al creatore del codice. Nellambito di mercato, si tratta
del noto meccanismo per cui lutente (consumer), specie se evoluto,
debugga, avanza richieste di migliorie, ecc., insomma diventa anche
produttore (productor), cioè prosumer. Spesso è difficile
stabilire dove inizi il circolo fra proposta di un codice, accettazione
e modifica, ritorno al creatore, e così via. È interessante
notare che più lo stile cerca di facilitare lutente,
rendendo semplice e fruttuoso un suo feedback, più si creano
dinamiche collaborative che migliorano il codice.
Dal punto di vista del coder, invece, lo stile è una specie
di biglietto da visita che si trova inscritto in ogni riga del suo
codice, disponibile per chiunque abbia le competenze tecniche per
leggerlo e apprezzarlo.
Analizzando lo stile si possono identificare due estremi: un aspetto
prettamente ergonomico, cioè come il programma si presenta
e come interagisce con lutente, e uno relativo al codice col
quale è stato scritto.
Il primo aspetto definisce i canoni di una interazione utentesoftware,
può presentarsi come la sintassi di un file di configurazione,
una interfaccia testuale, un sistema di login o differenti approcci
a seconda della funzionalità e del target degli utilizzatori.
Il secondo elemento, invece, riguarda il rapporto tra coder e software:
il suo stile si manifesterà nellindentazione, nella struttura
delle routine, nella qualità dei commenti, nella pulizia complessiva
del codice, ecc.
Si può dire quindi che lo stile risponda al complesso dei propri
immaginari, al metodo di realizzazione concreta del desiderio di creazione
di un oggetto.
5. Tracciare rotte, costruire ponti, declinare immaginari
Evidenziare limportanza dello stile, cioè del come
si fanno le cose, implica senzaltro una grande assunzione di
responsabilità da parte dei singoli. Non è indifferente
dire o fare in un modo piuttosto che in un altro. E non esistono certificazioni
che garantiscano la riuscita di un codice. Se però
osserviamo, come abbiamo cercato di fare finora, come si muove lambito
informatico, notiamo una dinamica ricorrente.
Tendenzialmente gli informatici amano costruire ponti. Amano immaginarsi
collegamenti inediti fra gli strumenti che usano e dai quali traggono
piacere. Questi ponti normalmente servono per farci scorrere
gente.
La gente siamo noi quando scopriamo che da oggi Open Office ha il
supporto per il db mysql (ODBC) e permette di estrarre dati da tabelle
di un database anche remoto. Lutilità è dettata
dalle necessità che ogni utilizzatore riesce ad immaginarsi:
stampare etichette di una rubrica, come gestire un layout grafico
di documenti fiscali, ecc.. Lunione di due elementi apparentemente
troppo distanti provoca uno stimolo a ricercare utilizzi di questa
nuova tecnica.
Si possono immaginare un numero enorme di applicazioni di questi ponti:
la curiosità, limmaginazione sono sempre in primo piano.
Esistono poi ponti che la gente non percorre ma che i programmatori
percorrono. Un ponte può unire al linguaggio di scripting PHP
il supporto per le librerie grafiche GTK. PHP nasce come linguaggio
per il web. Le librerie GTK servono per scrivere interfacce grafiche
in C e C++. Grazie a questo ponte, altri programmatori potranno scrivere
applicazioni grafiche, basta che conoscano il PHP: non è più
necessario che conoscano a fondo linguaggi complessi come il C.
Poi, per ultimo, esistono ponti fatti per non essere percorsi. Costruiti
forse solo per gioco, perché lidea di un ponte, una volta
immaginata, è piacevole da realizzare a prescindere dai possibili
usi. Un esempio assurdo, inserire in brainfuck (9) la possibilità
di usare le syscall di Linux. Ovvero poter utilizzare le chiamate
proprie del kernel (connessioni a internet, gestione del filesystem,
accesso a periferiche ed altro) in un linguaggio Turingcompleto
come brainfuck che ha solo otto istruzioni possibili e che per sua
natura nasce come pippa mentale (da cui il nome).
La strategia del ponte è un modo di declinare la
propria immaginazione e di collegarla agli altri. Quanti ponti si
possono costruire, quanti codici si possono collegare?
Abbiamo molto da fare, molto da imparare, molti desideri da realizzare.
note:
1 . Manuel Castells, La città delle reti, Marsilio, Padova,
2004
2 . SITOGRAFIA: Modelli: Rete Tela. Da Hakim Bey alla metafora
del tessere nel discorso femminista contemporaneo.
3 . Il metodo di profilazione di nuove identità nel mondo del
software è addirittura banale: campagne sulla proprietà
del software, sul tempo che corre rapido e in cui è necessario
essere aggiornati. Si va dalle nuove release dei software proprietari,
nuovamente da imparare e conoscere, oltre che acquistare... fino ai
nuovi virus da cui ci si deve proteggere, o al nuovo gadget tecnologico
assolutamente irrinunciabile per essere in time. Pare
sia necessario essere rapidi nel capire i tempi e, soprattutto, bisogna
correre da soli: il mondo del lavoro è la giungla, loceano
infestato dagli squali che bisogna saper azzannare con più
ferocia per non soccombere. Sopravvivenza, è la parola dordine;
la progettualità, la capacità dimmaginare e creare
non ha spazio alcuno.
4 . SITOGRAFIA: Cristopher Lasch, da sorvegliare e punire al controllo
morbido. Christopher Lasch (19321994) è stato professore
di storia allUniversità di Rochester. Nelle sue opere,
in particolare Lio minimo La mentalità della sopravvivenza
in unepoca di turbamenti, Feltrinelli, Milano, si delinea fra
laltro la tragicomica vicenda dellio occidentale, lex
homo faber del proprio destino: se la vita quotidiana diventa un esercizio
di mera sopravvivenza, è necessaria la costruzione di una microidentità
(lio minimo, appunto) funzionale alle difficoltà del
presente e alla perpetuazione del sistema. Tragicommedia, perché
le chiavi di lettura del mutamento approntate da Lasch si riferivano
al desolante panorama del reganismo rampante, eppure si attagliano
alla perfezione anche al panorama odierno, oltre ventanni dopo.
Le famiglie teledipendenti partecipano ai telequiz: se rientrano nella
maggioranza, vengono fornite di servizi (gas, acqua, elettricità);
se minoranza, i servizi vengono loro negati. Si tratta di una fiction
romanzesca (Stefano Benni), ma in realtà il modello di democrazia
standard permea anche la formazione informatica delle proprie caratteristiche
escludenti.
5 . Si veda limpostazione liberale ad esempio in Stefano Zamagni,
Per uneconomia civile nonostante Hobbes e Mandeville http://www.pust.edu/oikonomia/pages/2003/2003_ottobre/studi_2.htm
(cache)
6 . La maggioranza che accetta gli standard a proprie spese,
ben inteso è spinta a imparare la vulgata, duratura
quanto la nuova release (gli artefatti digitali presentano un altissimo
grado di depauperabilità) degli strumenti su cui si forma;
chi si posiziona fuori da questo raggio è costretto a cercare
altrove le proprie istanze formative.
7 . SITOGRAFIA: Lomeostasi. Il concetto di omeostasi, per indicare
un equilibrio dinamico, viene utilizzato, al di là dellambito
biologico che lha coniato, anche nella sistemica e nella cibernetica
in particolare. Avendo a che fare con le relazioni fra macchine e
esseri umani, non è un caso che la cibernetica si interessi
altrettanto di riflessività (intesa come meccanismo
di retroazione) e di emergenza (lesplosione della
complessità, dati elementi semplici). Tuttavia,
dato levidente obiettivo e interesse militare di questi studi,
si preferisce qui tralasciare ogni parallelo eccessivamente stringente.
Più interessante potrebbe essere un riferimento al pensiero
sulla tecnica e la modernità di Bruno Latour, ma soprattutto
di Gilbert Simondon a proposito dei processi di individuazione e scambio
individuocomunità, al di fuori naturalmente dalle forzature
postmarxiste a cui è già stato ampiamente sottoposto.
Si vedano in particolare Gilbert Simondon, Lindividuation psychique
et collective, Paris, Aubier, 1989; Du mode dexistence des objets
techniques, Paris, Aubier, 1989. Esempi di forzature improprie: http://multitudes.samizdat.net/article.php3?id_article=1563
(cache).
8 . SITOGRAFIA: Forking. A volte capita anche il contrario: una comunità
che si divide perché parti di queste arrivano a tensioni non
sanabili. Il forking si verifica appunto quando una parte di una comunità
occupata in un progetto già avviato, si distacca dal nucleo
di programmatori per creare una versione diversa del software. Il
forking è successo a molti progetti conosciuti come Emacs,
leditor di Stallman, Xfree, il server grafico di Linux, The
Gimp, software di manipolazione dimmagini. Le ragioni di questi
scissioni sono varie: una parte della comunità di Xfree, ad
esempio, si è staccata dal progetto padre per generare xorg,
a causa di un cambio di licenza. Oppure, si veda il caso di The Gimp:
da una versione di Gimp si è evoluto Cinepaint per problemi
relazionali tra mantainer. Ora The Gimp è il programma più
utilizzato dai grafici sotto GNU/Linux, mentre Cinepaint è
il software di effetti su animazioni utilizzato a Hollywood.
9 . Brainfuck: http://en.wikipedia.org/wiki/Brainfuck; http://www.muppetlabs.com/~breadbox/bf/
APPENDICI
I Appendice GLIBC
Per avere una panoramica delle tipologie di comunità, bisogna
tornare al 1991, quando Linus Torvalds inizia il suo kernel e fonda
la prima comunità basata sul concetto del bazar.
Abbiamo visto che il metodo precedente a cattedrale, tipico
della comunità GNU, muta rapidamente in questa nuova direzione.
Ancora oggi sussistono esempi sporadici di progetti strutturati a
cattedrale; si tratta però di casi davvero rari
e a volte folcloristici: citiamo il progetto qmail, un server di posta
distribuibile solo in versione sorgente e modificabile solo dallautore
stesso, poiché in caso contrario occorrerebbe forkare (scindere)
il progetto.
Il passaggio da cattedrale a bazar non è
stato certo morbido ed indolore, come testimonia ad esempio la crisi
sulle glibc (librerie di base che permettono ai programmi di interagire
al più basso livello con il sistema) del 1991.
La GNU stava combattendo una guerra soprattutto politica e ogni rilascio
di codice di un nuovo programma rappresentava la vittoria di unaltra
battaglia verso il Free Software; la nascente comunità Linux,
invece, era completamente concentrata sulla tecnica: stava scrivendo
un kernel e il suo obiettivo era che questo fosse il più possibile
completo, performante e fruibile.
La comunità Linux era molto attiva e in espansione vertiginosa;
tra laltro, continuava ad aggiungere chiamate di sistema al
nuovo kernel, ma lo sviluppo delle glibc non riusciva a stare dietro
allo sviluppo complessivo.
Dopo un paio danni, alcuni programmatori del kernel si spinsero
dunque a ipotizzare un fork del progetto glibc, in modo da assumere
questo progetto allinterno della nuova comunità.
Per comprendere lestrema novità di una simile ipotesi,
bisogna ricordare che in un sistema Posix i software comunicano col
kernel grazie alle librerie base del sistema. Sul sistema GNU/Linux
questo rapporto di comunicazione viene espletato da Linux e dalle
glibc. Le glibc sono sviluppate dal gruppo della FSF, con lo scopo
tecnico e politico di creare lhumus necessario al rapporto di
interdipendenza e quindi di massima condivisione tra gli sviluppatori
di sofware applicativo e quelli del kernel.
Nel 1993 la comunità delle glibc, strutturata ovviamente a
cattedrale, non si aspettava che il progetto Linux sfornasse
codice a tale velocità; poichè non riusciva a stare
dietro agli aggiornamenti, i software esistenti si trovavano in difficoltà
quando desideravano usare le nuove funzionalità via via proposte
dal kernel.
Il fork poi non è avvenuto, e ora abbiamo un sistema operativo
che funziona grazie a questi due elementi quasi in simbiosi con risultati
più che discreti; però si può ben dire che cè
mancato poco e non era affatto scontato. È stata lopera
di diplomazia tecnicopolitica delle due comunità e sicuramente
dei due mantainer, Torvalds e Stallman, a evitare una spaccatura che
non si sarebbe più potuta sanare.
II Appendice Le librerie QT
Nel 1996 Matthias Ettrich avviò il progetto KDE basandolo
sulle librerie grafiche QT.
Allepoca, non esisteva nessun framework per sviluppare un desktop
in grande stile, fatta eccezione per le appena nate librerie GTK,
immature e per questa ragione non ancora completamente affidabili.
KDE scelse di usare alcune librerie commerciali totalmente compatibili
per X, sviluppate close dalla TrollTech, assumendosene lonere
tecnico e politico.
Nonostante la KDE si fosse prodigata nel fondare la KDEQT Free
Foundation che impegnava la TrollTech a rilasciare le QT sotto
licenza BSD nel caso in cui lo sviluppo si fosse fermato , parte
del mondo libero e in particolare i più intransigenti della
GNU, non videro di buon occhio questo progetto; tuttavia, già
dalla versione 1.0 le QT si guadagnarono meriti tecnici.
Alluscita della nuova versione, infatti, Stallman attaccò
ferocemente il progetto KDE, accusando il gruppo di avere illegalmente
compilato codice libero a codice commerciale: questo di norma è
permesso solo in relazione a librerie fondamentali di un sistema operativo.
Lobiezione fu subito: come è possibile decidere che cosa
è fondamentale? Chi prende questa decisione? Il panorama dei
framework grafici si stava evolvendo lentamente e la versione 1.0
delle GTK non era assolutamente paragonabile alle QT 2.0.
Inoltre a partire da questa versione la licenza close utilizzata da
TrollTech passò a QPL che per quanto limitasse ancora molto
i metodi sviluppo era compatibile con lo standard Open Source (ovvero
approvata dalla OSI).
Intanto era nato il progetto Harmony o FreeQT dagli stessi sviluppatori
KDE, un tentativo di recuperare lo strappo nei confronti della GNU
attraverso lulteriore la scrittura di liberie compatibili con
le QT e che svolgessero la stessa funzione.
Dopo pochi mesi la FSF si occupo in prima persona di portare
avanti il progetto Harmony. A bloccare Harmony, facendo contemporaneamente
decadere le nuove polemiche sorte intorno alla QPL, fu la stessa TrollTech,
che dopo pochi mesi cambiò nuovamente licenza alle sue liberie
portandole a GPL.
La risposta di Stallman fu chiedere al progetto KDE che facesse pubblica
ammenda nei confronti dellintero mondo Open Source, cosa che
peraltro non avvenne mai. Si veda http://www.kde.org/announcements/announcement.php
(cache)
OGGETTI GRAFICI
Gli oggetti grafici qui riprodotti sono mappe delle relazioni che
abbiamo cercato di mettere in luce nel testo: rappresentano alcuni
dei nodi problematici più interessanti, alcuni degli ingranaggi
più significativi della gigantesche macchine che popolano i
mondi digitali.
La forma degli oggetti non è casuale: sono reticolari se descrivono
comunità aperte, più o meno orientate in maniera unidirezionale
se si tratta di comunità maggiormente gerarchizzate.
La mappa sinottica vuole evidenziare le relazioni fra i molteplici
attori in gioco. Una precisazione: la forma risultante ci sembra quella
di un assedio. In effetti, la libertà del free software, come
ogni libertà, e' frutto di continui mutamenti, aggiustamenti,
contaminazioni e rinegoziazioni di senso, fra comunità e individui.
Tuttavia, quando la contaminazione viene semplificata, i piani vengono
schiacciati e ridotti all'unità, nello specifico l'unità
dell'approccio mercantile, siamo di fronte a un tentativo di fusione,
di normalizzazione (infatti si parla di primato dell'economia, ovvero
della "norma, legge"), di riduzione: è il pensiero
unico che chiama a sé. Per questa ragione, crediamo, ricomponendo
le varie mappe, l'immagine complessiva e' quella di un assedio: l'assedio
normalizzante, totalitario e banalizzante dell'economia sopra tutto
e ad ogni costo, dell'ideologia del mercato, che media ogni cosa,
e cerca di riassorbire in un'unica, noiosa direzione i movimenti delle
tribù nomadi, desideranti e libere delle reti.
GLI AUTORI
Ippolita è un server e una comunità di "scriventi",
un crocevia per condividere strumenti e competenze tra il linguaggio
del digitale e il linguaggio della scrittura.
Come autrice di questo libro, è un nome collettivo che racchiude
l'espressione delle competenze usate per la stesura del testo, della
sitografia e delle mappe proposte. www.ippolita.net
|