# Codice e società/Capitolo 4/1

../../Capitolo 4 ../../Capitolo 4/2 IncludiIntestazione 10 giugno 2013 75% Tesi universitarie
Codice e società Stefano De Boni 2013 CC BY-SA 3.0 GFDL //it.wikisource.org/w/index.php?title=Codice_e_societ%C3%A0/Capitolo_4/1&oldid=- 20230226151321 //it.wikisource.org/w/index.php?title=Codice_e_societ%C3%A0/Capitolo_4/1&oldid=- 20230226151321
Negli anni '50 del '900 non vi era distinzione tra hardaware e software (Weber, 2004, p. 21). Ciò significa che in qualche modo le istruzioni erano “cablate”, e coincidevano con specifiche parti del circuito. Tornando alla nostra metafora delle note introduttive sulla macchina che “costruisce” torte, notiamo che a questo livello le istruzioni, che dovremmo impartire, sarebbero talmente tante che la torta varrebbe certamente la pena farla a mano. Può diventare conveniente scrivere le istruzioni per fabbricare torte solo se si devono fabbricare moltissime torte, e se molti hanno l'esigenza di fabbricare torte.
Se esistono poche macchine, e il mercato delle torte è piccolo, i pochi “costruttori” di torte devono dividersi i compiti e scambiarsi i risultati, se vogliono che sia conveniente “industrializzare” il processo. Una contraddizione rispetto all'approccio di Weber, Benkler e Himmanen è insito nel fatto che anche in una fase pre-istituzionale o pre-competitiva (weber, 2004), quando gli attori collaborano tra loro, lo scopo è industrializzare i processi. In pratica l'informatica non industriale serve comunque ad industrializzare (automatizzare), e questo è evidente proprio in questa fase, che per noi è anche pre-istituzionale.
www.questionmaps.net
Fig. 1
Così come non esiste separazione tra hardaware e software (Weber, 2004, p. 21), non esiste nemmeno separazione tra programmatori e utilizzatori: le due figure coincidono.
Già negli anni '50 del '900 c'è una fondazione, la PACT (Project for the Advancemente of Coding Tchinques) che riunisce ditte come la Lockheed, Douglas, RAND e consulenti del ministero della difesa USA. Negli anni '60 del '900 le compagnie telefoniche USA giocheranno un ruolo determinante: il ministero di giustizia USA raggiunge un accordo con la Western Electric e la AT&T che recepisce la legge antitrust emessa sette anni prima.
L'accordo consiste nel vietare la vendita di prodotti e servizi che non riguardino le telecomunicazioni. Vi sono però margini interpretativi, per cui la AT&T intende questo divieto come la volontà politica del governo USA di diffondere le telecomunicazioni e la tecnologia in generale. Ciò fa intravedere la possibilità per le compagnie telefoniche di rilasciare tecnologia, in particolare quella prodotta ai laboratori della Bell, ad un prezzo nominale.
Come si nota nella mappa (Fig. 1), le istituzioni pubbliche e i ministeri della difesa della giustizia USA hanno un ruolo importante nella diffusione della tecnologia. In pratica, questi soggetti governativi in una prima fase sorreggono quella struttura pre-competitiva (il dipartimento della difesa in modo attivo, ed il ministero della giustizia con le leggi antitrust, che obbligano le compagnie telefoniche ad agire nella ricerca informatica piuttosto che nel mercato informatico) nella quale inizia a circolare liberamente codice.
In generale si tratta di soggetti molto potenti, che possono mettere in campo notevoli risorse, sia in termini economici che in termini di competenze. Questa particolare miscela tra competenze e risorse economiche di per sé, come abbiamo visto, non è sufficiente a scatenare tutta quell'effervescenza attorno al codice che porterà allo sviluppo dei protocolli di rete (la futura Internet) e dei primi sistemi operativi. Ciò che tiene assieme questi soggetti estremamente diversi tra loro è la collaborazione, o meglio lo stesso stato di necessità condiviso. Diversamente da quanto afferma Weber, più che trattarsi di una “fase” pre-competitiva, si tratta di “finanziare” la solidarietà meccanica in un momento in cui questo tipo di solidarietà era necessaria. La nostalgia di Richard Stallman per la collaborazione disinteressata tra i programmatori di un tempo ha le sue radici nei più grossi centri di potere degli anni '50 del '900 degli USA.
La questione sta nel fatto che i rapporti di mercato, la razionalità economica e la solidarietà organica da sole non avrebbero potuto fare altrettanto. Ciò non significa che non vi siano dei costi economici. I computer della Dell su cui vengono implementati i primi protocolli di rete, cioè i computer in cui si sperimenta ARPANET‎, sono costosissimi, i ricercatori devono essere pagati, l'organizzazione ha costi di gestione, così pure le linee telefoniche e le infrastrutture. Una volta “comprato nel mercato” il “non mercato”, l'ambiente al suo interno vede rapporti svincolati dai ruoli. Detto in altri termini, sono tutti utenti/programmatori:
[…] To handle character-oriented asinchrounus terminal only and to be an integral part of the network authority and avilable for user programming or special user features […] (Defense Advanced Research Projects Agency – A History of the ARPANET‎: The First Decade, p. III-114)
Al di la dei significati molto tecnici ed incomprensibili, se non altro perché estrapolati da una relazione tecnica molto più ampia, ciò che interessa far notare è che si parla di “programmazione utente”, un tipo di attività che col tempo sparirà, o meglio, si dividerà: utente e programmatore saranno ruoli assegnati a persone diverse. Ancora più in la nel tempo, ci saranno utenti “evoluti”, che useranno programmi specialistici e costosi (ad esempio SPSS) e utenti meno “evoluti”; e nel versante opposto sviluppatori e analisti.
[…] Unfartunetely, but perhaps not surprisingly, the limited goal and absolute restriction on user programming created considerable unhappiness in portions of the potential users community […] (Defense Advanced Research Projects Agency – A History of the ARPANET‎: The First Decade, p. III-114)
In questo secondo passaggio oltre ad essere ripetuto il concetto di “programmazione utente” viene anche indicato il termine “comunità” che sarà centrale nel futuro del Software Libero e dell'Open Source.