2. Uno sguardo ai vincoli informali.

Quanto segue è il secondo capitolo della mia Tesi, che ho terminato di scrivere nel 2002: UNO SGUARDO AI VINCOLI INFORMALI”. Tutti i riferimenti, pertanto, risalgono ad allora. Le note inserite dopo la pubblicazione saranno evidenziate con la data di inserimento della nota stessa. Tutti i capitoli pubblicati sono raggiungibili dall’INDICE

Questa opera è pubblicata sotto una Licenza Creative Commons.

Licenza Creative Commons

This opera is licensed under a Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported License.

—*—

Ideologia ed ‘Etica hacker’

Le comunità hacker sono strettamente collegate con il mondo scientifico e accademico ed è qui che affondano le proprie radici.

Esse possono essere definite come una forma particolare di comunità di ricercatori scientifici. Difatti, buona parte delle norme di comportamento individuabili nella loro tradizione culturale corrispondono alle regole tipico ideali della ricerca scientifica.

All’esposizione delle istituzioni, ovvero le ‘regole del gioco’, applicate dagli hacker (par. 2.2), seguirà un confronto con quelle adottate dalla comunità scientifica ed il ‘Metodo scientifico’ attraverso studio compiuto da R. Merton in ‘La sociologia della scienza’1 (par. 2.3).

A partire dalla fine degli anni ’50, come sottolinea Levy, i componenti della comunità hacker hanno “inavvertitamente costruito un corpo organico di concetti, convinzioni e costumi”. Sono stati favoriti da una serie di fattori concomitanti, tra questi, la gestione del laboratorio di intelligenza artificiale del MIT, molto aperta (poteva sedersi ad un computer chiunque passasse dal laboratorio, purché dimostrasse di saper fare qualcosa di valido, senza causare danni), paritetica e poco burocratizzata. Questo è stato un fattore molto importante, perché ha fatto da presupposto e da fertile base per la nascita, lo sviluppo, ed il consolidamento della comunità; riporta Levy parlando di Greenblatt: “Nessuno gli chiedeva di rendere conto delle sue intenzioni. Non aveva il problema di dover notificare la sua decisione ai superiori, […] non c’erano percorsi burocratici da intraprendere perché […] in quei primi giorni in cui vedeva la luce l’Ia lab, gli hacker stessi erano i canali di comunicazione. Era l’etica hacker messa in pratica”.

Il laboratorio del MIT, ‘riserva’ protetta dal resto dell’università e dall’ambiente esterno, ha potuto affermare le proprie istituzioni innovative e antiburocratiche, e contrapporle per lungo tempo alle regole del ‘mondo reale’.

Pur discostandosi dai metodi ritenuti legittimi dalla ‘scienza normale’2, ha dimostrato la validità dei propri, con il continuo conseguimento di apprezzabili risultati definibili come scientifici.

La seconda e la terza generazione di hacker, pur non partendo direttamente da ambienti accademici, ha sviluppato un corpo di regole molto simile a quello del MIT. Lo stesso per le comunità nate successivamente in ogni parte del mondo, che apparentemente (prima dell’avvento di Internet) non avevano alcun diretto collegamento.

Si può ipotizzare che questo sia avvenuto per tre consistenti punti di contatto, che allontanano l’ipotesi alternativa della soluzione di continuità sia in senso diacronico, tra le generazioni, sia sincronico, tra una comunità e l’altra.

Il primo è naturalmente il computer. La sua architettura, i suoi vincoli, il suo linguaggio, ecc. hanno plasmato il modo di interagire con lui, arrivando in molti casi ad alterare la struttura cognitiva del programmatore e le sue relazioni interpersonali. Come fa notare un hacker intervistato da Levy: “C’era il mondo intero dentro quel computer… un sistema di pensiero”.

Il secondo punto di contatto è costituito dagli individui che passano da una comunità all’altra portandone i metodi e i valori, un caso molto significativo riportato da Levy è quello di John McCarthy che fondò nel ‘59 l’Ia lab del MIT e dopo averne lasciato la direzione fondò nel ‘62 il Sail (Stanford Ia lab), il centro di calcolo dell’università Stanford, dirigendo entrambi in modo da assecondare l’etica hacker.

Infine, la costante presenza di molteplici canali di comunicazione. In aggiunta alle reti informatiche, che prima dell’avvento di Internet commerciale era a disposizione solo degli istituti universitari, di qualche laboratorio privato, e di pochi altri pionieri che gestivano reti amatoriali. Tra questi canali troviamo ad esempio i club come il TMRC oppure l’Homebrew computer club o ancora gli odierni LUG (Linux User Group), oppure le riviste di settore e quelle dedicate all’underground digitale, che tanta parte hanno avuto nella formazione della comunità di hacker dell’hardware e in seguito del software per computer da tavolo, che si sono moltiplicate fino a coprire oggi ogni nicchia informatica.

L’avvento di Internet commerciale e il miglioramento dell’accessibilità alle macchine ha generato un apertura sistemica3, così, le comunità possono essere, e sono, in contatto tra loro, ma anche le persone esterne al mondo informatico possono incontrare questa cultura, frequentarla ed integrarsi, scambiando conoscenze e competenze in modo inter o transdisciplinare. Esempi sono la manualistica informatica e la relativa traduzione fatta anche da non programmatori o iniziative come Nupedia e Wikipedia4, l’italiano GNUtemberg5, il progetto OpenLaw del Berkman Center for Internet and Society della Harvard Law School6, ma se ne potrebbero aggiungere moltissimi altri.

Le singole persone possono essere più o meno coinvolte nella comunità e applicare le regole e le convinzioni in modo più o meno rigoroso. Ma nei casi estremi, e l’Ia Lab del MIT dei primi tempi ne è un ottimo esempio, vi è un immersione totale, totalizzante. Il coinvolgimento descritto da alcuni hacker è comparabile a quello dato da una fede religiosa, paragone emerso spesso anche nel libro di Levy: “votando le loro abilità tecniche nell’informatica”, “una dedizione raramente riscontrata al di fuori dei monasteri”, “devoti studenti della macchina”, “condurre il mondo esterno dentro quel segreto, fare proseliti per l’etica hacker”, “dei gesuiti tecnologici”, “non c’erano missionari che cercassero di fare adepti. Il computer stesso operava le conversioni”.

Queste persone, inoltre, sono accomunate dal fatto di provare piacere nell’atto in sé di mettere le mani sui computer, di programmare, di risolvere problemi, di costruire cose e di aiutare gli altri a fare altrettanto. Come sottolinea Eric S. Raymond: “Diventare un hacker è molto divertente, ma è un tipo di divertimento che necessita di un sacco di fatica. La fatica necessita di motivazione. […] Per essere un hacker devi provare una forte eccitazione dal risolvere problemi, affinando le tue abilità ed esercitando la tua intelligenza7. Solo coloro che amano la programmazione, vivono - parafrasando Max Weber8 - per la loro intima ‘vocazione’ per la scienza della programmazione, immersi ne ‘l’esperienza vissuta’ di questa scienza, provando la strana ebbrezza, derisa dai non iniziati, e la passione nel seguire la propria via. Solo costoro hanno, quindi, l’incentivo necessario per operare in un ambito fondato su contributi volontari, che si regge fondamentalmente sulla reciprocità e sulla logica del dono.

Alcuni, arrivano a descrivere la loro passione come un piacere quasi carnale o di profonda immedesimazione con la macchina o ancora come lo slancio creativo di un artista nel momento culminante della propria ispirazione, con la relativa alterazione o perdita del senso del tempo, dello spazio e delle cose materiali.

Le ‘regole del gioco’ degli hacker.

Le ‘regole del gioco’ informali, ovvero, i vincoli osservati spontaneamente dagli hacker (convenzioni e codici morali), si sono stabilizzati nel tempo, formando un corpo organico di concetti, principi e costumi. Sono regole non scritte, variamente interiorizzate dai partecipanti e applicate perché sanno che agendo così fanno ‘la cosa giusta’. Formano un sistema di punti, strettamente integrati, che possono avere maggiore o minore importanza.

Ecco in dettaglio i punti fondamentali:

Libertà dell’informazione: è un concetto cardine, primo ad essere citato insieme all’accesso alle macchine, e precondizione per gli altri.

Agli esordi della scienza informatica occorreva giungere ad un rapporto ‘intimo e profondo’ con la macchina per poter programmare nel suo specifico linguaggio. L’accesso libero e aperto all’informazione, è l’unico modo per conoscere l’architettura del calcolatore e quindi per poter programmare senza che quest’attività diventi frustrante.

Per gli hacker l’informazione deve essere libera, per principio, in tutti i settori, non solo nell’informatica, perché senza la possibilità di accedervi non è possibile migliorare e far progredire le cose. Inoltre, maggiore è la complessità di un programma o di un qualsiasi problema da affrontare e maggiore è il beneficio che si trae nell’affrontarlo liberamente e collettivamente. Un sistema aperto e libero, può godere di contributi occasionali e amplificare fenomeni come quello della serendipità9 e della ricombinazione creativa delle informazioni, entrambe preziose fonti di innovazione.

La tecnologia ed il software sono ritenute risorse che possono incidere sulla vita di tutti, migliorandola, per questo sono da condividere e da mantenere libere da poteri monopolistici.

L’informazione non è considerata come una proprietà, come qualcosa che si possa ‘rinchiudere’. La cosa è per loro inconcepibile, assurda oltre che controproducente. Ulteriore motivazione che portano è che la scienza in generale è frutto di una graduale accumulazione di sforzi collettivi, molto spesso di pubblico dominio, rinchiuderne una parte significa non riconoscere il contributo di chi ci ha preceduto, e per merito dei quali possiamo andare avanti nello stato dell’arte, significa perciò commettere un furto e impedite agli altri di progredire.

Hanno fatto proprio l’aforisma Newtoniano ’se ho visto così lontano è perché stavo sulle spalle di giganti’.

L’informazione libera e pubblica, permette di sapere quali progetti sono in corso, quindi, cosa è già disponibile ed utilizzabile ed eventualmente dove è possibile e necessario cooperare, in modo da evitare che si sciupino energie per rifare qualcosa che già c’è. Consente, inoltre, di sapere chi sta lavorando su un progetto e quale contributo sta dando, pertanto è anche prerequisito per la reputazione dei partecipanti che a sua volta determina lo status all’interno della comunità.

Accesso alle macchine: la possibilità di esplorare i computer, le macchine e tutto ciò che poterebbe insegnare qualcosa deve essere totale. Si impara facendo, osservando il funzionamento delle cose e dei sistemi, rielaborando in modo creativo le informazioni e cercando di produrre e riprodurre ciò che si è osservato: chiunque la pensi ed agisca così è il benvenuto. Le informazioni vanno usate per creare cose nuove o migliorare quelle vecchie. Dato che ciò che è difettoso e che funziona male è sgradevole e molesto, devono intervenire per poterlo migliorare; ‘metterci su le mani‘, è un imperativo categorico. Qualsiasi persona, metodo o legge che sia di ostacolo alla conoscenza e all’uso delle risorse è da avversare o semplicemente da ignorare. Occorre adoperarsi in ogni modo per superare gli ostacoli.

No a burocrazia e formalismi: la burocrazia, qualunque sia la sua origine, universitaria, aziendale o dello stato, è un intralcio che costringe a compromessi e ad inutili attese ed impedisce che si esprima pienamente lo spirito di ricerca e la possibilità di sperimentazione creativa ed innovativa degli hacker. Essi ritengono che i burocrati sfruttino le regole formali solo per fare i propri interessi e per rafforzare il proprio potere.

Qualsiasi organizzazione hacker, deve presentarsi come un sistema libero ed aperto, deve promuovere il libero flusso delle informazioni, essere il più possibile informale, interattiva e capace di recepire senza formalità le nuove idee. Il risultato non è un sistema anarchico ma un organismo, o meglio, un sistema ecologico in cui ogni elemento ha un suo ruolo e ne garantisce l’equilibrio, pena la decadenza e la scomparsa del sistema stesso.

Per questi motivi le iniziative raramente vengono pianificate, semplicemente qualcuno inizia a fare e il resto si struttura intorno a questo Input iniziale che diverrà anche il nodo centrale del network di collaboratori al progetto la cui direzione di sviluppo sarà concordata con gli stessi utenti-sviluppatori.

Semplificazione ordine, riduzione e ottimizzazione delle risorse: sono imperativi da applicare a tutti i livelli.

Ciò che viene scambiato deriva da contributi volontari di numerosissime persone che si organizzano e si coordinano tra loro in modo molto aperto ed elastico non c’è burocrazia e tutto deve essere accessibile senza regole troppo formalizzate perché altrimenti scoraggerebbe la partecipazione. L’eccesso e il disordine sono degli intralci paragonabili alle ‘lungaggini’ burocratiche. Lo spreco, di tempo, di risorse informatiche, della larghezza di banda della rete, ecc. è condannato in tutte le sue forme.

Una forma particolare di spreco si ha quando si verifica una biforcazione di un progetto (cosa avvenuta ad esempio per UNIX), oppure quando nascono più gruppi che si occupano di cose equivalenti provocando una inutile duplicazione degli sforzi. In questi casi, se possibile, occorre mirare ad una fusione o ricongiungimento.

Sono, infine, da evitare cambiamenti radicali nei progetti, se non indispensabili, perché possono creare biforcazioni per defezione di una parte.

Con un computer puoi creare arte: il codice del programma possiede una bellezza propria. È un’unità organica con una vita indipendente da quella del suo autore­promotore. La parte estetica dello stile di programmazione è incoraggiata e molto apprezzata.

Comunità: è il luogo virtuale-reale in cui tutto si svolge; in realtà si tratta di un reticolo di comunità che ne forma di più grandi, un insieme di network dai confini sfumati che presa nel suo complesso forma, la Comunità del Software Libero. Restando nella metafora ecologica, è l’ambiente naturale dove il sistema ecologico vive e dove avviene lo scambio di materia.

L’appartenenza è sempre intenzionale, si fa parte della comunità solo se si partecipa, si collabora e si coopera volontariamente. In questo modo si acquisisce lo status di hacker ed una posizione, nella gerarchia informale della comunità di appartenenza, che si basa sulla reputazione.

Come sottolinea Raymond in ‘How To Become A Hacker‘, per acquisire lo status di hacker occorre appartenere ad una comunità e per farne parte è necessario condividerne la cultura, aver contribuito a costruire qualcosa e che gli altri lo abbiano riconosciuto:

There is a community, a shared culture, of expert programmers and networking wizards that traces its history back through decades to the first time-sharing minicomputers and the earliest ARPAnet experiments. The members of this culture originated the term `hacker’. Hackers built the Internet. Hackers made the Unix operating system what it is today. Hackers run Usenet. Hackers make the World Wide Web work. If you are part of this culture, if you have contributed to it and other people in it know who you are and call you a hacker, you’re a hacker.”.10

Coloro che ne prendono parte, si trovano d’accordo sul fatto che il software in libera distribuzione sia qualcosa di positivo, degno di sforzi collettivi e molti competono per il prestigio di regalare tempo, energie e creatività: è sulla base di tale concordanza che si definisce o meno l’affiliazione a tale cultura. Quello che varia sono le sottoculture di riferimento e le motivazioni individuali con una minore o maggiore adesione personale (fino a rasentare il fanatismo) ed un atteggiamento più o meno avverso al software commerciale. Perseguono obiettivi diversi e comportamenti adattivi e cooperativi graduati in vario modo.

La comunità è il punto di riferimento dove ‘incontrarsi’. Può essere in concreto una mailing-list, una chat un sito internet, un luogo geografico come la sede di un club o un laboratorio universitario. Ci si incontra per scambiare i propri ‘doni’, che consistono in conoscenza, informazioni, consigli, prestazioni, competenza e software (sviluppo, miglioramento, modifica, ecc.), ma che possono anche essere strumenti, beni materiali o la possibilità di un loro utilizzo. In cambio si ricevono ‘doni’ di questo stesso tipo e, cosa molto importante, si ottengono risorse più strettamente sociali, come approvazione, stima e sostegno.

Ogni comunità si struttura intorno ad una combinazione di una o più piattaforme hardware, sistemi operativi e programmi software e ad un leader (o un ristretto gruppo come avviene, ad esempio, nelle comunità Perl e Apache) che ha dato avvio alla comunità e ai suoi progetti o l’ha ricevuta in ‘eredità’.

In questo sistema prevale la subordinazione della proprietà e dell’individualismo al bene comune. E i comportamenti contrari sono fortemente stigmatizzati.

Condivisione: delle informazioni, degli strumenti e delle competenze è un dovere­valore. Si dà per quanto è nelle proprie competenze e possibilità ma si riceve, dagli altri partecipanti alla comunità, con le stesse modalità, in un rapporto che risulta asimmetrico a vantaggio del singolo partecipante.

Cooperazione: considerando i punti precedenti la cooperazione diventa quasi un evento naturale che crea una Sinergia11 positiva che avvantaggia i partecipanti. I cooperanti possono anche essere aziende attraverso i propri dipendenti.

Il free riding a questo livello provoca danni irrilevanti. Il bene di cui si appropria il free rider è informazione già pubblica, che per sua natura non si consuma e distribuita con licenze che ne consentono qualsiasi utilizzo12 tranne la ‘chiusura’. La non partecipazione e la non restituzione è compensata dal fatto che il ‘valore’ dei programmi cresce all’aumentare del numero degli utenti.

Leadership: i leader delle comunità che gestiscono i progetti sono dei ‘primi tra pari’. Il loro stile di leadership, deve necessariamente tenere conto del fatto che il loro ruolo è determinato dai partecipanti che sono dei volontari completamente autonomi, capaci, e competenti, che decidono di attenersi alle direttive del leader perché lo ritengono autorevole, in grado di indirizzare la comunità e i progetti attivi verso l’ottenimento di risultati concreti. Il leader (o il gruppo-leader) deve essere partecipativo-delegante13 in grado di guidare operativamente il gruppo, senza imporre, e sostenendo la relazione. Comunemente le scelte sono discusse e compiute collettivamente. Scelte non condivise dalla comunità se non giustificate e se protratte nel tempo sono causa di perdita della posizione di leader. Altri prenderanno il suo posto come nodo centrale del network, in caso contrario il rischio è la disgregazione o la scissione della comunità e del suo progetto o addirittura la scomparsa.

Se il progetto è in fase di avvio, una leadership inadatta impedisce il raggiungimento di una massa critica tale da dare vita propria al progetto stesso, provocandone la scomparsa ancor prima di nascere.

Atteggiamento meritocratico: gli hacker non si curano delle caratteristiche superficiali di ciascuno e non basano la propria valutazione sulla base di falsi criteri quali ceto, età, etnia, genere e posizione sociale; operano una sospensione del giudizio e guardano a quello che ciascuno è in grado di offrire di creativo e innovativo. L’accoglienza del dodicenne Peter Deutsch nella comunità degli hacker del MIT è un ottimo esempio. Le ‘credenziali appariscenti’ non sono prese sul serio se prima non si dimostra quello che si sa veramente fare davanti ad un computer.

Reputazione: il ‘gioco della reputazione‘ determina lo status all’interno della comunità, l’importanza e centralità del nodo che si rappresenta nel network.

Si viene accettati senza pregiudizi e si eleva il proprio status per meriti acquisiti sul campo, per ciò che si è creato e per l’aiuto al progresso dello stato dell’arte, oltre all’aiuto verso gli altri.

La stima quindi è guadagnata con le capacità e/o le buone idee, vi è inoltre un forte grado di apprezzamento per la raffinatezza tecnologica e l’estro digitale.

Uso del gergo hacker: il gergo condiviso dagli hacker è parte integrante della loro cultura sedimentata nel tempo, è un’arma di esclusione dalla comunità, ma anche strumento di inclusione perché rafforza il senso di comunità e fa da collante ideologico. Oltre a derivare inconsciamente dall’ambiente, riflettendolo, (compresa l’architettura interna del computer e i linguaggi di programmazione), è creato in modo cosciente, come sperimentazione, intenzionale, spontanea e spesso giocosa, di nuove espressioni: anche il linguaggio è qualcosa da esplorare, smontare e rimontare, sperimentare, è, in altre parole, qualcosa da hackerare.

Il suo apprendimento fa parte dell’iter formativo di coloro che aspirano ad entrare in questa comunità.

Tramite Internet è possibile accedere al ‘Jargon File’, un documento in continua evoluzione, liberamente disponibile per tutti gli utenti della Rete, avviato nel 1975 a Stanford, mantenuto inizialmente da Raphael Finkel, e attualmente da Eric Raymond. Contiene “un manuale completo dello slang degli hacker che chiarisce molti aspetti della tradizione, del folklore, e dello humor ‘hackish’14

È un linguaggio volutamente allusivo e di difficile comprensione per gli estranei a metà strada tra il linguaggio tecnico e lo ’slang’, come fa notare Raymond, “the line between hacker slang and the vocabulary of technical programming and computer science is fuzzy”.

I computer possono cambiare la vita in meglio: il tradizionale punto di vista del ‘mondo reale’ sull’utilizzo dei computer e delle tecnologie, ritenuto come minimo restrittivo, è stato sovvertito e dilatato dalle idee degli hacker. Essi considerano il computer come un arma politica, in grado di liberare gli individui dall’oppressione, e come mezzo di trasformazione e costruzione della realtà.

Operativamente gli hacker si affidano soprattutto alla propaganda del fatto concreto: il metodo per affermare le loro idee è dare l’esempio, mostrare che il loro modello di approccio alle cose funziona (e farlo sapere).

Fare la cosa giusta: significa, che per qualsiasi problema esiste una soluzione, che è “proprio… quella: l’algoritmo perfetto”. È la “linea più corta tra due punti” e non deve esserci la possibilità di farlo meglio. L’unica soluzione, la più corretta, ordinata ed elegante, che soddisfa contemporaneamente tutti i diversi punti di vista e tutti i problemi.

Ciò che è giusto lo si apprende dall’esempio dato dai membri più ‘anziani’ e frequentando la comunità.

I programmi devono fare la cosa giusta, ma anche le persone: seguire le ‘regole del gioco’, l’etica, le norme e i valori degli hacker, senza curarsi del giudizio altrui e delle conseguenze personali (ad esempio se si infrange la legge) è la cosa giusta.

L’efficacia delle regole si regge su forti pressioni della comunità al loro rispetto e su sanzioni per la loro inosservanza che dipendono dalla gravità del comportamento. Coloro che violano le regole subiscono la riprovazione collettiva. E dato che anche gli eventi negativi godono di pubblicità ne risente la reputazione. Oltre a questo fatto, in concreto, le sanzioni più gravi prendono la forma della cancellazione del nome dalla credit list, quando ad essere sanzionato è un programmatore, e del boicottaggio, nel caso di organizzazioni, aziende ecc.

Comunità a confronto.

Comparando le istituzioni della comunità hacker e quelle della comunità scientifica, si riscontrano delle sorprendenti analogie.

La sovrapposizione delle regole è tale da confermare l’origine comune, o meglio, che lo sviluppo di Software Libero può essere senz’altro definito come un tipo particolare e specifico di ricerca scientifica.

La scienza è un processo collettivo di accumulazione di conoscenza che poggia su tre pilastri: pubblicità, controllabilità e ripetibilità. In mancanza di un solo pilastro il processo crolla, oppure, non siamo di fronte ad una attività definibile come scientifica. Il Software Libero è pubblico, controllabile e ripetibile15.

‘La struttura normativa della scienza’ descritta da Merton in La sociologia della scienza16 è utile per individuare le analogie e confrontare le regole istituzionali e le modalità di funzionamento del metodo scientifico con le istituzioni degli hacker nel contesto delle comunità del Software Libero. Merton, quando scrive “La scienza è pubblica e non privata”, sottolinea l’aspetto collettivo e pubblico della scienza. gli hacker sostengono lo stesso concetto quando affermano che il software deve essere libero.

Nel suo scritto, Merton considera i ‘costumi’ (mores) che definiscono i confini del campo dei metodi della scienza.

Le regole di comportamento, proprie della scienza, il suo ethos, spiega Merton, sono un insieme di norme e valori intimamente avvertite come vincolanti dagli scienziati. Si noterà la corrispondenza tra il seguire l’ethos della scienza con il ‘fare la cosa giusta’ per gli hacker. Esse assumono la forma di prescrizioni, divieti, preferenze e direzioni permesse, sono direttamente insegnate oppure acquisite nel tempo per imitazione. Il loro sommarsi e la maggiore o minore interiorizzazione va a creare la coscienza scientifica del singolo uomo di scienza.

Non si tratta di norme formali istituzionalizzate, ma di usi ed abitudini propri di quest’ambito, deducibili dal consenso intorno ai comportamenti ammessi e dalle sanzioni accompagnate dall’indignazione morale in caso di comportamento deviante.

Sono norme, queste, che vengono a formarsi per mezzo della cristallizzazione dei metodi e delle regole pratiche, funzionali al raggiungimento del fine istituzionale della scienza, vale a dire, l’incremento quantitativo e qualitativo delle conoscenze verificate. Si tratta, quindi, di norme tecniche che rappresentano nel contempo dei principi morali. Sono giustificate dalla coerenza metodologica, ovvero, dal fatto che il loro rispetto consente di raggiungere gli obiettivi perseguiti dalla scienza, ma sono vincolanti anche perché intimamente sentite come ‘cose buone e giuste’.

Per descrivere e comprendere l’ethos della scienza moderna, Merton considera quattro insiemi di imperativi istituzionali: Universalismo, ‘Comunismo17, Disinteresse e Scetticismo sistematico.

Eccoli in dettaglio e a confronto con le istituzioni hacker.

Universalismo: la ricerca scientifica deve avere carattere universale, pertanto, i risultati delle ricerche devono essere valutati solo in base al loro reale valore scientifico, indipendentemente dalle caratteristiche individuali dei ricercatori. Esso viene ben espresso dalla disposizione che esige che il raggiungimento dei risultati sia effettuato attraverso procedure stabilite anteriormente e in accordo con il corpo di osservazioni e procedure fino a quel momento generalmente utilizzate.

Qualsiasi risultato, ottenuto da uno studioso, deve essere accettato o rifiutato indipendentemente dalle sue caratteristiche personali o sociali, che vanno completamente ignorate nel giudicare le sue enunciazioni. L’oggettività esclude il particolarismo”, sottolinea Merton e aggiunge poco dopo, “L’imperativo dell’universalismo è profondamente radicato nel carattere impersonale della scienza18, ed è proprio l’oggettività attenendosi al metodo prestabilito, alla routine ufficiale, ad impedire l’imposizione di criteri di interesse esclusivo di un singolo o di un gruppo ristretto.

L’imperativo dell’universalismo si manifesta anche nell’esigenza che le carriere siano accessibili a chiunque dimostri di avere delle adeguate capacità. Escludere una persona capace per motivi estranei alla scienza risulterebbe un comportamento immorale. Ma è al contempo un imperativo funzionale, infatti, questa è un’esigenza che dipende direttamente dal fine della scienza e eventuali limitazioni diverse dalla competenza avrebbero ripercussioni sull’evoluzione della conoscenza scientifica.

L’atteggiamento meritocratico, nel sistema delle ‘Regole del gioco degli hacker’, corrisponde bene a quello che Merton chiama Universalismo, sia per la valutazione indipendente dalle caratteristiche personali e sociali del partecipante, nella valutazione del suo lavoro, sia per l’esigenza di apertura delle carriere nei confronti di chiunque dimostri di avere delle capacità.

Merton accenna anche alle condizioni ‘ambientali’, politiche, che rendono possibile il mantenimento dell’universalismo. Dato che anche la scienza dipende dalla struttura sociale nella quale è integrata, solo la democrazia consente di applicare pienamente il principio universalistico, dato che fa parte del suo stesso ethos. In una società democratica aperta, per contro, quando è la scienza a chiudersi dentro a privilegi di casta, l’apparato politico può intervenire per ripristinare le condizioni di uguaglianza delle opportunità.

L’Universalismo, anche per quanto concerne il punto di vista ‘politico’ e ‘ambientale’, è un valore fondamentale per gli hacker. Essi ritengono che le condizioni politiche per favorirlo siano preziose. Democrazia, libertà, sono valori costantemente richiamati nei loro scritti ‘politici’. E a livello ‘ambientale’ questo fatto viene espresso con la profonda ostilità che manifestano nei confronti della burocrazia e dei formalismi poiché ostacolano l’ingresso dei dotati e meritevoli e la libera espressione delle proprie potenzialità.

‘Comunismo’ (o Comunitarismo): è un principio generale di grande importanza in ambito scientifico, secondo il quale ogni conoscenza scientifica non deve essere considerata come proprietà privata del ricercatore, ma deve essere messa a disposizione dell’intera comunità scientifica. “Le scoperte sostanziali della scienza sono un prodotto della collaborazione sociale e sono assegnate alla comunità. Esse costituiscono un’eredità comune, in cui il diritto del produttore individuale è severamente limitato”.19

Anche se una legge o una teoria prende il nome dello scienziato che l’ha formulata, non significa che essa sia una sua proprietà e neppure che possa farne uso esclusivo, è un’usanza puramente evocativo-commemorativa. L’etica scientifica, infatti, riduce le possibilità di disporre delle proprie scoperte proprio per il fine della scienza stessa. Il diritto di ‘proprietà’ è, quindi, limitato alla paternità e alla stima e riconoscimento che ne derivano; essi dovrebbero “essere commisurati alla significatività dell’incremento apportato al fondo comune di conoscenze”.20

Questo stato di cose genera una cooperazione competitiva, in cui assume un’importanza fondamentale il fatto di raggiungere per primo un risultato originale. La stima e il riconoscimento sono la moneta con cui viene ripagato lo scienziato che vince la competizione, e rendere pubblica la scoperta è l’unico mezzo per dimostrarlo e ricevere il proprio ‘compenso’.

La messa in comune, poi, consentirà ad altri di vincere nuove sfide. È il fine stesso della scienza, rivolto ad accrescere il patrimonio comune delle conoscenze, ad imporre la piena comunicazione pubblica delle scoperte. La mancata comunicazione delle proprie scoperte da parte di uno scienziato è una violazione ad una precisa norma istituzionale e l’omissione è biasimata e condannata.

Il carattere comunitario della scienza, si riflette nella consapevolezza degli scienziati del fatto, che la loro attività e l’avanzamento dello stato dell’arte, è una collaborazione tra generazioni, in cui quelle attuali, dipendono dall’eredità di conoscenze che hanno ricevuto dal passato. “L’umiltà del genio scientifico [è] culturalmente appropriata”, e Merton sottolinea questo punto, riportando l’aforisma Newtoniano ““Se io ho visto più in là è stato perché stavo sulle spalle di giganti” — [che] esprime al tempo stesso un senso di debito nei confronti dell’eredità comune, ed un riconoscimento della qualità essenzialmente cooperativa e selettivamente cumulativa delle realizzazioni scientifiche”.21

L’idea di proprietà privata che l’economia capitalistica ha nei confronti della tecnologia è incompatibile con l’ethos della scienza ed in particolare con il principio del comunismo scientifico. La pratica dei brevetti che escludono i più dalla possibilità di usare le scoperte è stata variamente osteggiata da buona parte degli scienziati22. Alcuni di essi sono arrivati a brevettare le proprie scoperte per garantire che rimanessero disponibili alla comunità scientifica e all’uso pubblico.

Condivisione, cooperazione, libertà dell’informazione, sostenuti dalla comunità del Software Libero, rientrano nell’imperativo istituzionale che Merton chiama ‘Comunismo’ (Comunitarismo) e la comunità è il suo punto di riferimento.

Il software free è sempre un lavoro collettivo, l’eponimia quasi non esiste ma il lavoro qualitativamente e quantitativamente rilevante è riportato nella credit list contenuta in tutti i prodotti free (programmi, manuali, articoli, ecc.); essa riporta la lista dei nominativi di tutti coloro che hanno dato un contributo significativo, con l’indicazione di cosa hanno fatto; il più delle volte è anche indicato l’indirizzo e-mail, l’eventuale organizzazione di appartenenza (università, azienda, ecc.) e la provenienza geografica. È il riconoscimento pubblico per coloro che hanno donato il proprio lavoro, attestato all’interno del prodotto free.

Priorità ed originalità anche per gli hacker sono fondamentali. Trattandosi di lavori collettivi assumono una forma differente dovuta allo sforzo di ripartire il lavoro evitando duplicazioni e sovrapposizioni. Nella programmazione software ci sono numerosi modi per ottenere lo stesso risultato. La priorità in quest’ambito non significa chi arriva prima ad una certa scoperta, ma chi riesce a fare meglio una certa cosa. In caso di disputa viene scelto in modo democratico cosa integrare nel progetto.

Come misura difensiva verso la chiusura della conoscenza, il software viene rilasciato con licenze aperte, con la GNU/GPL in testa. Contro i brevetti l’ostilità è totale23.

Disinteresse: è un elemento istituzionale di controllo sulla gamma di motivazioni possibili da parte dello scienziato; requisito fondamentale dello scienziato è quello di essere disinteressato, cioè il suo lavoro deve contribuire ad aumentare la conoscenza scientifica, senza peraltro perseguire interessi personali o particolari nell’esercizio del proprio ruolo professionale.

Il carattere pubblico e controllabile della scienza è alla base dell’esigenza del disinteresse. L’attività scientifica per sua natura, è costantemente sotto esame da parte dei colleghi propri pari, che per questo sono responsabili gli uni verso gli altri.

Il disinteresse, come gli altri imperativi istituzionali, è radicato nella coscienza scientifica, il timore di sanzioni o di conflitti psicologici, porta gli scienziati a conformarsi a questa norma. Come fa notare Merton, “Culto del proprio gruppo, settarismo informale, pubblicazioni numerose ma poco significative24 servono solo all’autostima del singolo ma hanno vita breve nel campo della scienza. Questi comportamenti, incluso il tentativo di ‘imbrogliare’, superando gli avversari in modo scorretto, è fugato proprio dal controllo dei pari.

Anche per il disinteresse, come per il comunitarismo, ci si può collegare alle regole della condivisione e cooperazione; in questo caso il punto di vista è quello del singolo e non più del collettivo.

L’attività di programmazione a codici aperti consente il controllo da parte degli altri. All’interno dei progetti, l’integrazione di nuove parti di codice viene fatta esclusivamente in base al suo valore qualitativo, non perché fatta da un particolare programmatore o gruppo; così come i tentativi di plagio sono riconoscibili e prontamente segnalati. Situazioni diverse generano malcontento e rimostranze e mettono in pericolo il buon esito del progetto.

Ad un altro livello di analisi, quando si considera l’attività di programmazione totalmente volontaria, è da ricondurre al rispetto dell’imperativo del disinteresse la difficoltà di individuare degli incentivi diversi dal piacere in sé di ‘esplorare’ e di ‘metterci su le mani’ condividendo la propria esperienza, dalla soddisfazione per un lavoro ben fatto riconosciuto dai propri pari o dal desiderio di migliorare la propria reputazione.

Scetticismo sistematico: deve essere un atteggiamento dello scienziato che si appresta a studiare determinati fenomeni della realtà. In particolare si parla di uno scetticismo sistematico, che deve distinguere la pratica scientifica e la metodologia di ricerca. Esso, spiega Merton, “è variamente correlato agli altri elementi dell’ethos scientifico. Si tratta, al tempo stesso, di un mandato metodologico ed istituzionale. La sospensione del giudizio e l’esame distaccato delle credenze secondo criteri logici ed empirici hanno periodicamente coinvolto la scienza in conflitti con altre istituzioni. La scienza, che pone interrogativi di fatto, inclusi gli aspetti potenziali, che riguardano ogni aspetto della natura e della società, può entrare in conflitto con altri atteggiamenti verso gli stessi elementi cristallizzati, e spesso ritualizzati, da altre istituzioni.”.

Lo Scetticismo sistematico è un concetto relativo all’atteggiamento che deve tenere l’uomo di scienza.

In un certo senso è come ripartire ogni volta da zero mantenendo la mente aperta e sgombra come quando si è dei principianti. Nessun ostacolo, pregiudizio o interesse devono esserci davanti all’obiettivo da raggiungere.

Per gli hacker la tensione verso la ricerca di nuovi modi per abbattere le barriere che impediscono di conoscere a fondo la tecnologia, arrivando, se occorre, anche a superare i limiti della legalità, è sempre un fatto strumentale all’obiettivo di ricerca ed esplorazione e non avviene mai per interesse personale.

La messa in discussione delle regole, anche entrando in conflitto con quelle degli altri, non è mai pregiudiziale. Altrettanto forte è la tendenza a creare significati alternativi, alle istituzioni formali economiche, giuridiche, già esistenti25.

Stile di sviluppo dei progetti.

Per completare la presentazione delle ‘regole del gioco’ informali della comunità hacker, occorre illustrare il funzionamento dei progetti di sviluppo di Software Libero non sovvenzionati26.

Eric Raymond in ‘La cattedrale e il bazaar’ (1997), racconta la sua esperienza con un progetto27, avviato come verifica sperimentale delle teorie sul Software Libero da lui isolate analizzando le caratteristiche e l’andamento del progetto GNU/Linux (kernel).

Quest’ultimo è considerato ‘rivoluzionario’; si discosta solo in parte dalle regole seguite nel passato, ma, i cambiamenti introdotti, si sono rivelati decisivi per far uscire questo ‘mondo’ dalla marginalità. È il capostipite di una nuova generazione di progetti, per la sua importanza, ampiezza e perché per primo ha sfruttato pienamente tutte le possibilità messe in campo dalle nuove tecnologie, dal crollo dei prezzi dell’hardware, dalla diffusione del personal computer e dalla facilità di comunicazione garantita da Internet.

Raymond mette a confronto gli stili di sviluppo che chiama a ‘cattedrale’, tipico del software proprietario, e lo stile ‘bazaar’, adottato per il Software Libero. Quest’ultimo risulta molto variabile da caso a caso, ma in linea di massima, possiede le caratteristiche, sintetizzate da Raymond in 19 aforismi, ed intenzionalmente riprodotte nel suo esperimento.

1. Every good work of software starts by scratching a developer’s personal itch.28

Si parte sempre dal bisogno di un programmatore che vuole un nuovo strumento utile per fare qualcosa o per risolvere un problema interessante. Non trovando nulla che lo soddisfi pienamente, se lo scrive da sé o modifica un programma già disponibile in rete. Se ritiene di aver fatto un buon lavoro o che possa essere utile ad altri, lo diffonde con il codice sorgente, gratis e senza restrizioni, in modo che possa essere usato dal maggior numero possibile di persone. In pratica a questo punto ha già avviato un progetto.

In molti progetti Open Source, spiega Paul Vixie29, i programmi vengono semplicemente scritti e distribuiti. Invece, il software proprietario, prima di questo momento attraversa dei passaggi obbligati. Innanzitutto, viene stabilita la fascia di mercato della clientela, l’uso e le caratteristiche del programma, il viene riassunto in un documento, il Marketing Requirements Document (MRD), che passa ai progettisti30. Questi in base all’MRD producono una descrizione del prodotto a livello di ‘moduli’ e dell’interazione tra di essi, detta ‘Progetto a livello di sistema’ e in seguito fanno un ‘Progetto dettagliato’ di ogni modulo. A questo punto, è possibile stimare più precisamente le risorse umane ed economiche richieste dal progetto e, se nulla osta, si passa all’implementazione dei singoli moduli e alla loro integrazione, cioè alla scrittura vera e propria del software, fino ad ottenere qualcosa di funzionante conforme alle specifiche iniziali.

Nel Software Libero tutti questi passaggi si saltano. Sarebbe inutile sprecare risorse economiche e di tempo per progettare sulle esigenze dell’ipotetico ‘cliente’ dato che è l’utente stesso che scrive da solo (cooperando con gli altri), il prodotto di cui ha bisogno. E comunque i progetti evolvono in modo non pianificabile a priori o pianificabile solo in parte.

La programmazione è fatta per puro piacere e per dimostrare ed esibire la propria competenza tecnica, “il che spiega l’alta qualità media del software originato dalla comunità Linux”31.

2. Good programmers know what to write. Great ones know what to rewrite (and reuse).

È meglio iniziare da un prodotto non pienamente soddisfacente che da zero. Una delle caratteristiche dei programmatori è il forte senso pragmatico e secondo Raymond una ’sorta di ozio costruttivo’.

Va tenuto presente che occorre radunare un adeguato numero di persone intorno ad un progetto. È impensabile che questo possa accadere senza che vi sia già del materiale su cui lavorare. Anche Linus Torvalds ha cominciato a scrivere Linux partendo dal sistema operativo Minix, un piccolo sistema per uso didattico, simile a Unix. La tradizione degli hacker, legati al sistema operativo Unix, di condividere i codici, favorisce la ricerca ed il recupero di materiale già pronto e disponibile per l’implementazione.

3. “Plan to throw one away; you will, anyhow.” (Fred Brooks, The Mythical Man-Month, Chapter 11).

Non sempre la prima soluzione trovata e su cui si sta lavorando è la migliore oppure ci si può trovare in un vicolo cieco e non riuscire a trovare la via d’uscita. La migliore strategia, in questi casi, è di implementare una nuova soluzione ricominciando sul codice di qualcun altro, mettendo a frutto l’esperienza del primo tentativo.

4. If you have the right attitude, interesting problems will find you.

L’atteggiamento giusto è quello di mantenere la mente aperta nei confronti di qualsiasi problema e soluzione possibile in modo da ricombinarli creativamente per uscire dalle difficoltà. Anche a costo di buttare via tutto come al punto 3.

5. When you lose interest in a program, your last duty to it is to hand it off to a competent successor.

Chi avvia e gestisce un programma è responsabile nei confronti della comunità di cosviluppatori e utenti che si viene a creare intorno ad esso. Non si può uscire dal proprio progetto semplicemente disinteressandosi. È un preciso obbligo quello di ‘passare il testimone’ se si presenta qualcuno che si dimostra interessato al suo mantenimento ed è all’altezza per farlo.

6. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.

Avviato il progetto e distribuito il software, il programma comincia ad avere degli utenti. Se è stato ‘ereditato’, un gruppo di utenti già esiste. La loro presenza testimonia l’utilità del lavoro svolto e che si sta rispondendo ad un loro bisogno. Spesso gli utenti sono essi stessi degli hacker, che ‘coltivati’ nel modo giusto possono trasformarsi in co-sviluppatori. Essendo i sorgenti disponibili senza vincoli, gli utenti competenti saranno in grado di dare una mano a migliorare il codice suggerendo soluzioni o scovando errori e malfunzionamenti. Ogni componente del software richiede nel tempo una costante opera di aggiornamento e miglioramento, che avviene in modo circolare. Pertanto, maggiore è il numero di sviluppatori attivi coinvolti più è rapida l’evoluzione.

Prima dell’avvento di Linux si riteneva, al contrario, che fossero i problemi ad aumentare in modo esponenziale al crescere delle persone coinvolte e della complessità - a maggior ragione per un sistema operativo. La ‘Rivoluzione’ del metodo di sviluppo, attuata da Linus Torvalds, ha dimostrato che il miglioramento del codice ed il debugging efficace, crescono di pari passo col crescere degli utenti e della complessità del sistema e ha spazzato via i pregiudizi esistenti sulla gestione di progetti complessi. Pregiudizi sorretti anche dai vincoli tecnici presenti fino all’inizio degli anni ‘90. Come ogni ‘rivoluzione’ ha dovuto attendere le condizioni necessarie per poter ‘esplodere’: l’innovazione tecnologica con conseguente crollo dei prezzi dell’hardware, la diffusione capillare del personal computer e la facilità di comunicazione garantita da Internet.

In queste condizioni è più facile raggiungere la ‘massa critica’ necessaria al decollo di un progetto. Più facile ma non deterministico. Il software libero non è una magia valida per tutti i progetti. La fase iniziale della ricerca di utenti e sviluppatori attivi è la più delicata e non tutti i progetti decollano, anzi molti falliscono e restano immobili.

7. Release early. Release often. And listen to your customers.

Fattore cardine del metodo usato da Torvalds è la rapida e frequente distribuzione delle varie release (versione di un programma). Un altro pregiudizio molto forte nel passato era che fosse inopportuno distribuire subito perché le prime versioni di un programma sono piene di bug. Inoltre si tendeva a seguire il metodo ‘a cattedrale’ con un attenta progettazione ed implementazione prima del rilascio della prima versione attentamente riveduta e corretta in modo da far vedere meno bug possibili agli utenti.

Il sistema della rapida diffusione è più efficace ed efficiente ed assicura un rapido sviluppo, ma i pochi che adottarono questo modello prima di Linux non se ne resero pienamente conto. Torvalds in effetti ha portato questa pratica ad un livello estremo di intensità, tanto che nei primi tempi (1991/92), diffondeva le versioni del kernel anche parecchie volte al giorno.

Prestare ascolto ai propri utenti è un altro punto fondamentale. Torvalds trattava gli utenti come co-sviluppatori, tendeva a stimolarli e ricompensarli. Tanto che sono stati loro a coinvolgere altre persone con un passaparola tanto efficace da far raggiungere a Linux la ‘massa critica’ in brevissimo tempo.

8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone. Or, less formally, “Given enough eyeballs, all bugs are shallow.” I dub this: “Linus’s Law”.

Direttamente legato all’aforisma n° 6. La persona che focalizza un problema, osserva Linus, non necessariamente è la stessa che lo risolve, e la cosa più difficile è proprio trovarlo.

Nel modello bazaar i bug diventano in fretta fenomeni marginali se esposti all’attenzione di migliaia di co-sviluppatori. In questo modo aumenta la probabilità che qualcuno trovi la maniera più adatta, tra le molte possibili, di percepire il problema e riesca ad inquadrarlo correttamente. Questo è il motivo della scelta della rapida diffusione: ottenere veloci correzioni e di conseguenza una rapida evoluzione del progetto. Il costante monitoraggio del lavoro degli altri evita che vi siano sovrapposizioni. Si agisce seguendo un processo di sviluppo distribuito che utilizza specifiche tecniche e strumenti di gestione delle conoscenze utili al progetto sempre disponibili e aggiornati per poter cooperare in rete. In primo luogo si usa un insieme di programmi che permette ai partecipanti sparsi in tutto il mondo di essere creatori paralleli di un programma senza ostacolarsi a vicenda; consentono anche di rintracciare tutte le modifiche apportate nel corso del tempo, e chi le ha fatte32. Questi programmi gestiscono anche opportuni file che accolgono tutti i maggiori argomenti dove occorre uno scambio di idee con i relativi interventi e, se occorre, le votazioni per decisioni da prendere in gruppo. Altro elemento fondamentale è la presenza di opportuni forum di discussione per gli utenti e per gli sviluppatori, suddivisi per argomenti, in modo da poter selezionare solo ciò che interessa e restare aggiornati sullo sviluppo in corso senza eccedenze di messaggi.

Il processo richiede il coordinamento di uno sviluppatore che amministri le comunicazioni tra coloro che si occupano dell’attività di debugging ma l’attività in sé non necessita di coordinamento. È così che, nonostante la notevole complessità del sistema, non se ne cade preda, e si evita il ‘costo’ supplementare per gestire il coinvolgimento di nuove persone.

Il costante feedback degli utenti-sviluppatori e l’accorgimento di ‘distribuire presto e spesso’ minimizza la duplicazione del lavoro di coloro che si occupano del debugging e consente una migliore auto-distribuzione dei compiti evitando la perdita di efficienza che teoricamente dovrebbe sorgere all’aumento della complessità. Come rileva lo stesso Raymond, questa metodologia di lavoro, corrisponde grossomodo all”Effetto Delfi’33

10. If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource.

Non basta avere numerosi utenti, bisogna essere in grado di trattare con loro. Lo stile di leadership risulta qui fondamentale. Trattandosi di volontari non si può comandar loro di fare qualcosa ma bisogna attendere che lo facciano spontaneamente incoraggiando ed indirizzando la partecipazione. Raymond nel suo ‘esperimento’ ha inserito nella lista dei beta tester34 chiunque lo abbia contattato riguardo al suo progetto, ha mandato simpatici messaggi all’intera lista in occasione di ogni nuova release, incoraggiando la partecipazione e facendo domande sul design adottato. Il riscontro è stato immediato con numerosi report di bug e ottime soluzioni per risolverli oltre a molte mail piene di critiche costruttive, lodi sperticate, suggerimenti intelligenti. In cambio dopo ogni feedback è stato prodigo di apprezzamenti e lodi.

11. The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better. 12. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.

Onestà ed autocritica, devono essere costantemente dimostrate da parte del leader del progetto insieme ad una elevata dose di competenza tecnica e diplomazia. Il leader deve essere in grado di riconoscere le buone idee e le soluzioni innovative da chiunque provengano, anche ammettendo che le proprie erano sbagliate o poco funzionali. Conquistando in questo modo sempre maggior fiducia da parte dei co-sviluppatori e più partecipazione; osserva Raymond “il mondo intero ti tratterà come se ogni bit di quell’invenzione fosse opera tua, mentre impari a considerare con sempre maggior modestia il tuo genio innato35“. Oppure Linus Torvalds: “il problema era capire come dire in modo diplomatico a una persona che preferivo i cambiamenti suggeriti da qualcun altro. […] Non ho mai pensato di accettare soluzioni che non mi sembrassero le migliori da un punto di vista tecnico. […] Era anche un modo per portare la gente a fidarsi di me. […] Quando la gente si fida di te, accetta i tuoi consigli 36“.

Il leader prende tutte le decisioni finali sull’implementazione, può non essere un bravo progettista ma è fondamentale che sia in grado di riconoscere le migliori idee tra quelle proposte dagli altri. “Come non avevo mai progettato per Linux una vita al di fuori del mio computer, non avevo nemmeno mai deciso di essere il leader. […] Imparai abbastanza presto che il modo migliore e più efficace per essere un leader consiste nel lasciare che le persone facciano le cose perché le vogliono fare, e non perché tu vuoi che le facciano. I migliori leader sanno quando si sbagliano e […] mettono gli altri in grado di prendere delle decisioni al posto loro37.

Gli aforismi n° 9 e quelli dal n° 13 al n° 19 riguardano disposizioni prettamente tecniche, oppure ripropongono punti già commentati, li riporto in nota con relativa traduzione38.

Da quanto detto si possono focalizzare tre elementi essenziali che condizionano l’esistenza ed il successo di un moderno progetto di Software Libero: infrastruttura comunicativa (Internet), la leadership e la comunità.

Internet, rispetto ai precedenti sistemi di comunicazione, è capillare, facilmente accessibile, veloce e poco costosa. Ha trasformato il modo di comunicare buona parte dei possessori di computer nel mondo ed ha aperto il ‘campo di gioco’ delle comunità verso l’esterno - a partire dalla seconda metà degli anni ‘90 c’è stata un’impennata nel numero di sviluppatori che si sono uniti alla comunità - dando nuova vita ad un metodo di sviluppo che poggia, come si è visto, le radici nel passato. ‘Luogo’ di incontro e discussione può essere una semplice mailing-list o un newsgroup o altri forum di discussione pertinenti (ospitati ad esempio presso il sito Internet di una organizzazione che gestisce i programmi più grandi e strutturati) dove lo scambio ha un livello minimo di formalità e dove è possibile verificare se qualcuno è disposto a partecipare attivamente.

Il leader è colui che avvia il progetto, coordina i co-sviluppatori e gestisce lo sviluppo prendendo tutte le decisioni riguardo le parti nuove di codice e le modifiche da includere nel progetto e infine si occupa di redistribuire le versioni modificate. Solo in parte ‘conduce il gioco’ per il resto deve fare da ‘arbitro’. Non sempre è l’autore originario del software su cui la comunità di utenti si raduna. Sia Torvalds sia Raymond, per tornare agli esempi presentati, hanno lavorato su materiale già esistente.

Al momento della presentazione pubblica, il codice da lui diffuso deve essere ad un giusto grado di sviluppo. Lo stile ‘bazaar’ non consente che si possa cominciare da zero, in quanto mancherebbe un oggetto da migliorare o con cui ‘giocare’. Può essere anche scarno, incompleto e con molti errori ma deve essere convincente, rappresentare cioè una promessa credibile per gli sviluppi futuri.

Dallo stile di programmazione è possibile verificare le competenze e perfino la personalità del programmatore che lo propone. La nascita della comunità di sviluppatori non è un evento certo e dipende moltissimo dalle caratteristiche personali del leader: competenza, pragmatica, diplomazia, apertura, onestà, autocritica, comunicativa. In mancanza di queste caratteristiche, il progetto non supera la fase critica iniziale e non comincia ad evolvere, oppure si biforca, dando vita a diverse comunità ciascuna con meno risorse e meno possibilità di sopravvivenza.

Il terzo elemento è dato dalle persone che scelgono volontariamente di unirsi e di cooperare, dando vita alla comunità che ruota intorno al progetto ed al suo leader. La domanda, ora, è cosa spinge queste persone a collaborare, ossia, quali sono gli incentivi, le aspettative e l’orientamento degli sviluppatori di Software Libero.

Dai risultati dell’indagine FLOSS39, emerge che la scelta di unirsi alla comunità è prevalentemente indotta dal desiderio di migliorare le proprie capacità e competenze di programmazione e dalla possibilità di scambiare conoscenze ed informazioni con altri sviluppatori, con la certezza di ricevere più di quanto si è dato

. In secondo luogo dal desiderio di partecipare ad una nuova forma di cooperazione con la possibilità di migliorare i prodotti degli altri sviluppatori. L’attenzione verso gli aspetti materiali (ad esempio migliori opportunità di lavoro) viene maturata con il passare del tempo e la frequentazione della comunità, ma queste motivazioni rimangono secondarie rispetto a quelle di ingresso. Inoltre, l’aspettativa che anche gli altri mettano in condivisione conoscenze e competenze è estremamente elevata. “Potresti chiederti: perché la gente dovrebbe spendere ore del proprio tempo a scrivere software, a metterlo insieme attentamente, e poi darlo tutto via? Le risposte sono varie quanto le persone che contribuiscono. Ad alcune persone piace aiutare gli altri. Molte scrivono programmi per imparare di più sui computer. Sempre più gente cerca vie per evitare il prezzo gonfiato dei software. Una moltitudine in crescita contribuisce come ringraziamento per tutto il software che hanno ricevuto. Nelle università molti creano software free per ottenere i risultati delle loro ricerche in un utilizzo più ampio. Compagnie commerciali aiutano a mantenere il free software per avere voce su come procede lo sviluppo - non c’è maniera più rapida di ottenere una nuova caratteristica che implementarla da solo! Di sicuro, molti di noi lo trovano semplicemente un grosso divertimento40.

Cultura hacker e Capitale Sociale.

A questo punto, tutti i più importanti elementi e regole informali presenti nel ‘campo di gioco’ sono stati raccolti. Quindi, è possibile vedere ciò che distingue strutturalmente e qualitativamente la programmazione a ‘Bazaar’ da quella a ‘Cattedrale’: la quantità di ‘Capitale Sociale’ presente nelle comunità di programmatori del Software Libero.

L’idea di Capitale Sociale costituisce una sistemazione teorica elaborata da Coleman41 a partire dal concetto di ‘capitale umano’ introdotto da Becker42 ed altri autori. Il capitale umano si identifica in uno stock di risorse per l’azione, rappresentate dalle abilità e conoscenze acquisite dall’individuo. Quando due o più persone stabiliscono un rapporto anche debole, lo stock di risorse entra nella struttura della loro relazione. Il capitale sociale è quindi quel potenziale di risorse, utili alle proprie strategie d’azione, a disposizione dei singoli partecipanti al network di relazioni in cui sono inseriti. È intimamente connesso alla struttura della relazione.

Un secondo sguardo ai vincoli informali delle comunità del Software Libero, rielaborati attraverso la ‘Teoria della società’ di Coleman e quelle che egli nomina come forme efficienti di capitale sociale osservabili nei network, permette di valutare il fenomeno da questo punto di vista.

La prima forma è il ‘Debito di riconoscenza con aspettativa di restituzione’ o ‘credit slip’; in sostanza, un credito esigibile non per diritto ma per affidabilità o riconoscenza del debitore.

Le persone che si uniscono alle comunità in questione, possono attingere ad una molteplicità impensabile di software pronto, disponibile, e ricevono un grosso aiuto dagli altri membri per comprenderne a fondo il funzionamento sia come utenti ad ogni livello, sia come programmatori.

Lo scambio di prodotti, consigli, strumenti di sviluppo, ecc., segue, in primo luogo, la logica del dono, con i suoi tre imperativi: obbligo di dare, di ricevere e di ricambiare43; ma gli oggetti donati hanno una natura del tutto inconsueta rispetto ad altri beni, perché non sono consumabili, sono riproducibili a costo quasi zero e la diffusione ne aumenta il valore intrinseco, pertanto, ogni singolo dono fa aumentare la ‘dote’ di tutta la comunità. In secondo luogo assume le caratteristiche del dono moderno44, vale a dire, che donatori e donatari possono anche essere degli estranei, a differenza di quello arcaico che esigeva un legame sociale stretto (come nella famiglia o nel villaggio).

La convinzione diffusa di aver ricevuto più di quanto si è dato45 è indice di ‘riconoscenza’ nei confronti della comunità. Tanto che, nonostante la restituzione permane la sensazione di essere ancora in debito.

Altra forma efficiente di capitale sociale riguarda il ‘Potenziale informativo’ che è proprio delle relazioni sociali; la sua importanza è data dal fatto che all’aumentare dell’informazione si hanno più elementi a supporto del buon esito dell’azione.

Le comunità hacker sono dei network in cui la maggior parte dell’informazione circola in tempo reale e ad un costo che tende allo zero. Il passaggio delle informazioni non è limitato alle questioni di utilizzo del software e alla programmazione, ma, anche se in minor misura, riguarda qualsiasi ambito di competenza dei partecipanti (di istruzione media molto elevata46). Questo, come si è visto nel precedente capitolo, avviene perché la libertà di informazione è elevata a principio cardine che informa il comportamento generale di tutta la comunità.

Coleman prosegue con le ‘Regole e sanzioni efficaci’. Una regola che costituisce un importante forma di capitale sociale all’interno di una comunità è quella che impone di rinunciare ai propri interessi per agire nell’interesse della comunità. Essa è più efficace se sorretta da pressioni collettive all’applicazione come approvazione sociale, status, onore ed altre ricompense e da sanzioni di senso contrario in caso di devianza.

Egli fa notare che regole efficaci, in certi ambiti, possono anche ridurre l’innovazione. Questa trappola viene evitata dalle comunità del Software Libero, perché le loro norme, come abbiamo visto, corrispondono a quelle delle comunità scientifiche, che per loro natura si rivolgono spontaneamente verso l’innovazione. La rinuncia ad un tornaconto immediato e personale a favore dell’interesse collettivo dei programmatori Free, è compensata dal riconoscimento pubblico per il lavoro fatto, che può tradursi in vantaggi materiali (ad esempio migliori opportunità lavorative), anche se incerti e posticipati, ma non è questo il primo pensiero dei partecipanti.

La quarta forma riguarda i ‘Rapporti di autorità’, ossia il trasferimento da un attore ad un altro di diritti di controllo. L’investitura di un leader carismatico è una forma di creazione di capitale sociale ed il leader di un progetto di sviluppo di Software Libero rientra senza dubbio, viste le sue caratteristiche, in questa categoria.

La quinta forma è l‘Organizzazione sociale appropriabile’. Con questo si intende la possibilità di dirigere una rete di relazioni, nata con uno scopo, verso altri nuovi obiettivi. Nel caso in oggetto ad esempio troviamo l’impegno per l’allargamento dell’etica hacker ad altri ambiti del sapere; il sostegno della libertà di espressione; le mobilitazioni contro la guerra o la pedofilia su Internet. In questi casi, tra l’altro, tendono a coinvolgere altri gruppi presenti sullo stesso medium e, di conseguenza, ad allargare il capitale sociale.

Infine, come ultima forma, Coleman riporta le ‘Organizzazioni intenzionali’, intendendo con questo, le organizzazioni in senso stretto, quindi, forme di capitale sociale che sono l’esito diretto dell’investimento degli attori allo scopo di ottenere un qualche risultato. Tra le altre vi sono le associazioni di volontari che producono beni pubblici. È esattamente il caso delle organizzazioni per la gestione dei progetti di sviluppo del Software Libero e delle organizzazioni a sostegno della sua diffusione come la Free Software Foundation o la Open Source Organization47

È evidente che il Capitale sociale si distingue nettamente dagli altri beni. Ha le qualità di bene pubblico: è inalienabile, è una risorsa con valore se in uso, non è facilmente sostituibile, non è proprietà delle persone che ne beneficiano.

Vi sono alcuni fattori che ne influenzano la creazione, conservazione e la scomparsa.

Fattori che aiutano la creazione e la conservazione del capitale sociale sono: la chiusura delle relazioni - nel senso di connessioni dirette tra i partecipanti al network -, la stabilità delle relazioni, un ideologia non individualista e incentivante l’aggregazione e la dipendenza reciproca.

L’ambiente del Software Libero è caratterizzato dalla possibilità di connettersi con ogni partecipante il network; dal punto di vista della sistemica è da considerarsi un sistema di tipo aperto (con collegamenti anche verso l’esterno), tanto che ogni partecipante ha rapporti diretti con una piccolissima parte del potenziale a disposizione.

La struttura del network è duratura nel tempo, con relazioni stabili tra individui, con posizioni fungibili al livello delle organizzazioni e con relazioni occasionali con altri membri, infatti, le richieste di aiuto possono essere rivolte pubblicamente alla comunità ricevendo supporto il più delle volte in forma anonima.

L’ideologia insiste fermamente sulla condivisione di conoscenze, capacità e mezzi. Infine, il campo del sapere implicato, è talmente vasto che comunque tutti, anche i più dotati, si trovano ad aver bisogno degli altri per le proprie difficoltà.

La valutazione di queste caratteristiche porta a pensare che sia più probabile la conservazione, consolidamento ed ulteriore espansione del fenomeno, piuttosto che la sua scomparsa.

Conclusioni

Il quadro delle regole informali si può a questo punto considerare completo, ma, la comprensione delle dinamiche evolutive, così come indicato nella struttura teorica del North, esige che si consideri il gioco del formale e dell’informale nelle strutture d’azione concrete.

Nei prossimi capitoli, di conseguenza, l’esposizione sarà dedicata alle regole formali precedute da un approfondimento delle caratteristiche proprie del software in quanto oggetto delle disposizioni, poi, alle organizzazioni di supporto per passare, infine, all’interazione di tutti gli elementi considerati nel ‘campo di gioco’ del Mercato e alla loro rilettura attraverso il North.

1 Merton, 1973; trad. it., 1981.

2 Kuhn, 1962.

3 Un sistema chiuso risulta isolato dal proprio contesto, mentre in quelli aperti vi è permeabilità con l’ambiente, con scambio di materia (tipico nei sistemi viventi).

4 Nupedia è un progetto per un’Enciclopedia Libera (fuso con il progetto GNUpedia). È un movimento simile al movimento del Software Libero per sviluppare un’enciclopedia universale libera, che copra tutti i campi della conoscenza, ed una biblioteca completa di corsi per la formazione. Licenziato sotto GFDL (GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html), la Licenza per la libera documentazione: http://www.nupedia.com/ . Un progetto analogo è Wikipedia, più attivo perché meno strutturato, anch’esso licenziato sotto GFDL: http://www.wikipedia.com/,.

5 Il progetto si propone di ricercare ed indicare tutte quelle strutture (italiane e non) che vendono copie cartacee stampate o fotocopiate di documentazione tutelata da licenze libere

6 Home page del progetto: http://eon.law.harvard.edu/openlaw/

7 Raymond, 1996.

8 Max Weber, 1919.

9 Merton, 1959. Il concetto di Serendipity (o serendipità), fu coniato nel 1754 dallo scrittore inglese Horace Walpole che lo trasse dal titolo di una fiaba (Serendip era l’antico nome dell’isola di Ceylon). La Serendipity descrive quel processo - assai comune anche nella vita quotidiana - che porta a scoperte inaspettate cui si giunge mentre si cercava, si pensava, o si sperimentava, in tutt’altra direzione e con tutt’altri fini.

10 Raymond, 1996, [Esiste una comunità, una cultura condivisa, di programmatori esperti e maghi della rete per trovare le origini della quale dobbiamo andare indietro nei decenni, fino ai tempi dei primi minicomputer funzionanti in time-sharing o dei primi esperimenti con ARPAnet. I membri originari di questa 'civiltà' generarono il termine 'hacker'. Gli hacker costruirono Internet. Gli hacker costruirono il sistema operativo Unix così come lo conosciamo oggi. Sempre grazie agli hacker abbiamo avuto Usenet e il World Wide Web. Se tu sei parte di questa cultura, se hai dato il tuo contributo e altre persone che ne fanno parte ti conoscono e ti chiamano hacker, tu sei un hacker].

11 Una Sinergia è l’effetto complessivo che consegue dall’attività simultanea di vari organi, funzioni, processi; l’effetto è di tipo olistico, per cui la somma delle parti dà un risultato superiore alla somma stessa, ovvero, l’effetto globale è maggiore di quello strettamente addizionale.

12 Danno assai maggiore può causare colui che si appropria di software di pubblico dominio, cioè senza copyright. Questo, con poche modifiche, può essere reimmesso sul mercato con licenza proprietaria e senza sorgenti, privando l’autore del merito per la paternità del prodotto, privando la comunità delle modifiche e dei miglioramenti e creando una biforcazione. Proprio per evitare questo, le comunità del software libero hanno adottato la GNU/GPL.

13 Hersey e Blanchard, 1982; trad. it., 1984.

14 http://www.tuxedo.org/~esr/jargon/jargon.html#; oppure http://www.catb.org/~esr/jargon/ ‘The on-line hacker Jargon File, version 4.3.1, 29 JUN 2001′

15 Merita una citazione una iniziativa denominata Open Science, raggiungibile al sito Internet www.openscience.org. Si tratta di un gruppo di scienziati che muovendo dalla constatazione che la scienza moderna si basa in misura sempre più larga su simulazioni al computer, su modelli computazionali, e su analisi computazionale di grandi insiemi di dati, invita la comunità scientifica a muoversi per pretendere che i software utilizzati per simulare sistemi complessi vengano resi disponibili nel formato sorgente. I motivi sono connessi con l’applicazione del principio del carattere pubblico della scienza. Le teorie che vengono sviluppate con metodi di simulazione al computer sono basate su assunzioni verificabili in linea di principio; ma la verificabilità pratica dei calcoli non è possibile senza avere il libero accesso al codice sorgente del software utilizzato. Metodo Open Source in questo caso è condizione necessaria per garantire il rispetto da parte di un settore importante della comunità scientifica del principio di pubblica verificabilità della scienza.

16 Merton, 1973; trad. it., 1981. (pagg. 349-359)

17 Termine infelice per via della connotazione politica che immediatamente evoca. Molti di coloro che fanno riferimento agli scritti di Merton usano il termine ‘Comunitarismo‘, certamente più neutrale e forse anche più vicino a ciò che egli intendeva.

18 Op. cit. pag. 352

19 Op. cit. pag. 355

20 Ibid.

21 Op cit. pag. 356.

22 Ma, permangono delle divergenze sull’atteggiamento nei confronti della proprietà intellettuale, in quanto coinvolge il problema del riconoscimento economico degli sforzi per la ricerca.

23 GNU/GPL e questione dei brevetti verranno approfondite nel prossimo capitolo.

24 Op. cit. pag. 358.

25 Emblematica in questo senso è la licenza GNU/GPL che approfondirò nei prossimi capitoli.

26 Quelli sovvenzionati hanno caratteristiche ibride e si discostano dall’idealtipo che cercherò di tratteggiare.

27 Si tratta di Fetchmail, un’utility per “scaricare la posta” da server di posta remoti e renderla disponibile al sistema locale. Sito del progetto: http://www.tuxedo.org/~esr/fetchmail/

28 Questo aforisma è valido anche inteso in senso collettivo. In questo caso il progetto sarà avviato da una comunità per colmare la mancanza di elementi di utilità comune.

29 P. Vixie, in DiBona, Ockman, Stone, 1997.

30 Questo passaggio non è privo di attrito. È nota l’atavica conflittualità tra reparti marketing e R&S, non solo nell’ambito delle aziende informatiche.

31 Raymond, 1997.

32 Il più importante di essi è il CVS (Current Versioning System).

33 Metodo Delfi. Il metodo Delfi prende il nome dalla città greca in cui l’Oracolo di Apollo esprimeva le sue predizioni sul futuro. Infatti la funzione principale di questo metodo è quella di permettere a un gruppo (panel) di esperti o di testimoni privilegiati di formulare ed esplorare scenari di cambiamento sociale, tecnologico e scientifico. E’ stato sviluppato dalla Rand Corporatoin  negli anni sessanta per la Air Force. Il metodo permette di strutturare la comunicazione tra gli esperti e, per mezzo di un meccanismo di feedback ripetuto, di correggere reciprocamente previsioni, giudizi, valutazioni, fino a far convergere le opinioni su una sintesi finale. La sua finalità è di essere di sussidio alle presa di decisioni ma evidentemente può essere utilizzato anche come strumento per la progettazione della ricerca. Il metodo Delfi è particolarmente adattabile alla CMC (Computer Mediated Communication).

34 Utenti dei programmi beta impegnati nella revisione di un programma.

35 Ibid.

36 Torvalds, Diamond, 2001.

37 ibid.

38 9. Smart data structures and dumb code works a lot better than the other way around. Una struttura dati ben fatta e un codice scadente funzionano molto meglio che non il contrario. 13. “Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.” “La perfezione (nel design) si ottiene non quando non c’è nient’altro da aggiungere, bensì quando non c’è più niente da togliere.”[Questione tecnica che richiama da vicino la regola hacker 'Semplificazione ordine, riduzione e ottimizzazione delle risorse'. La frase riportata come aforisma n° 13 è di Antoine de Saint-Exupéry (aviatore e designer di aerei, quando non scriveva libri per bambini)]. 14. Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected. Ogni strumento dovrebbe rivelarsi utile nella maniera che ci si attende, ma uno strumento davvero ben fatto si presta ad utilizzi che non ci si aspetterebbe mai. [È un richiamo a fenomeni come quello della serendipità e della ricombinazione creativa delle conoscenze già visti nel capitolo precedente]. 15. When writing gateway software of any kind, take pains to disturb the data stream as little as possible and never throw away information unless the recipient forces you to! Quando si scrive del software per qualunque tipo di gateway, ci si assicuri di disturbare il meno possibile il flusso dei dati – e *mai* buttar via alcun dato a meno che il destinatario non ti ci costringa! 16. When your language is nowhere near Turing-complete, syntactic sugar can be your friend. Quando il linguaggio usato non è affatto vicino alla completezza di Turing, un po’ di zucchero sintattico può esserti d’aiuto 17. A security system is only as secure as its secret. Beware of pseudo-secrets. Un sistema di sicurezza è sicuro soltanto finché è segreto. Meglio diffidare degli pseudo-segreti. 18. To solve an interesting problem, start by finding a problem that is interesting to you. Per risolvere un problema interessante, comincia a trovare un problema che risvegli il tuo interesse. 19. Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one. Stabilito che il coordinatore dello sviluppo abbia a disposizione un medium almeno altrettanto affidabile di Internet, e che sappia come svolgere il ruolo di leader senza costrizione, molte teste funzionano inevitabilmente meglio di una sola.

39 FLOSS: ‘Free/Libre and Open Source Software: Survey and Study’; prima inchiesta su vasta scala commissionata dalla Comunità Europea con lo scopo di fare luce su tutti gli aspetti di questo fenomeno.

40 http://www.debian.org/intro/about

41 Coleman, 1990. (pp. 300-321)

42 Becker, 1964.

43 Mauss, 1950.

44 Godbout, 1992.

45 Survey FLOSS, 2002.

46 Il 70% degli sviluppatori di Software Libero possiede una laurea o un titolo superiore (master - phd). Survey FLOSS, 2002.

47 Che tratterò in un prossimo capitolo.

Lascia un Commento

Devi aver fatto il login per inviare un commento

Usiamo i cookie per assicurarti la migliore esperienza di navigazione nel nostro sito web.
Ok