Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
GIURIDICA E
LE TECNOLOGIE
DELL’INFORMAZIONE
INTRODUZIONE
L’informatica giuridica è la disciplina che studia gli aspetti giuridici della rivoluzione tecnologica, economica e socia-
le prodotta dall’informatica (l’informazione automatica), cioè studia quella che si dice informatizzazione.
Possiamo notare che tale rivoluzione ha un doppio impatto sul diritto:
- determina nuove opportunità ma anche nuovi rischi per l’economia, la politica e la vita individuale-sociale, aspetti
che richiedono un intervento giuridico.
- modifica il lavoro del giurista, che sempre di più si avvale di strumenti informatici.
L’informatica giuridica presenta due facce:
- l’informatica del diritto, cioè l’uso dell’informatica nelle attività giuridiche.
- il diritto dell’informatica, cioè la disciplina giuridica dell’informatizzazione.
Diversi sono gli aspetti della società dell’informazione e delle nuove tecnologie:
- operano su informazioni di input producendo informazioni di output, cioè producono informazioni per mezzo di in-
formazioni (l’informazione è la loro materia prima).
- favoriscono l’interconnessione.
- sono flessibili, nel senso che sono riprogrammabili e permettono di riorganizzare continuamente i sistemi tecnologi-
co-organizzativi ed i loro collegamenti.
- tendono alla convergenza, cioè tendono a formare un unico insieme di dispositivi che comunicano.
- gli effetti delle nuove tecnologie sono pervasivi, perché incidono su ogni aspetto della vita individuale e sociale.
Si parla anche di società della rete (network society) per indicare il nuovo tipo di organizzazione sociale ed economica re-
so possibile dalle tecnologie dell’informazione, un modello in cui le attività produttive e culturali prescindono ampiamente
dalle distanze geografiche ed in cui le interazioni personali possono essere distribuite su tutte la terra. L’inclusione delle per-
sone nei rapporti sociali ed economici è determinata dalla loro possibilità di inserirsi nei diversi flussi d’informazione: colo-
ro che concorrono a determinare i contenuti e le direzioni dei flussi d’informazione sono detti networker, mentre colore che
accedono passivamente all’infrastruttura tecnologico-informativa sono detti networked. Si usa il termine digital divide (di-
vario digitale) per indicare la contrapposizione tra chi è in grado di utilizzare le tecnologie dell’informazione e chi invece
non è in grado di farlo. La capacità di incidere sui flussi di informazione, peraltro, dipende anche da altri fattori: i ruoli so-
ciali, le competenze professionali, i livelli culturali, le risorse economiche (secondo alcuni le nuove tecnologie riducono le
disuguaglianze, mentre secondo altri tendono ad accentuarle).
La società dell’informazione tende a realizzare il famose detto del filosofo George Berkeley, “esistere è essere percepito”.
Nel nostro caso potremmo dire che “esistere è essere percepiti dai sistemi informatizzati”. Ovviamente gli eventi della
realtà umana e sociale mantengono anche nella società dell’informazione la propria concretezza, tuttavia tali eventi produ-
cono le conseguenze sociali loro proprie (hanno cioè effettività sociale) solo attraverso la loro rappresentazione informatica:
gli eventi sociali vengono rappresentati in sistemi informatizzati e tale rappresentazione determina processi economici, am-
ministrativi, politici, processi che possono modificare la realtà stessa. In particolare, gran parte della attività dotate di impli-
cazioni giuridiche (nell’economia i pagamenti, nella pubblica amministrazione l’irrogazione di sanzioni, ecc) vengono oggi
rappresentate nei sistemi informatici, e sulla base di tali rappresentazioni vengono attivate le attività consequenziali (l’invio
della merce, l’invito a pagare una contravvenzione, ecc).
Non è stata certo l’informatica ad avere inventato dati, registri ed archivi;; tuttavia, nella società dell’informazione il rapporto
tra gli eventi e le loro rappresentazioni simboliche si pone in modo profondamente diverso, per due ragioni:
- l’enorme crescita della quantità di informazioni disponibili, consentita dall’economicità del trattamento informatico
dei dati rispetto al trattamento manuale. Nell’epoca preinformatica la gestione dell’informazione richiedeva la scrit-
tura su supporto cartaceo, la conservazione in ampi spazi e la ricerca; oggi i dati sono registrati su supporti informa-
tici, sono conservati in spazi ridottissimi e possono essere estratti automaticamente.
- i sistemi informatici facilitano l’impiego delle informazioni raccolte e quindi ne accrescono l’incidenza sulla vita;;
nell’epoca preinformatica era invece necessario l’intervento dell’uomo per registrare mediante la scrittura i fatti so-
ciali, per elaborare quei dati estraendone conoscenze utili e per adottare qualsiasi azione sulla base di tali dati.
Dalla crescente importanza della rappresentazione informatizzata dei fatti individuali e sociali discendono alcune esigenze
fondamentali:
- assicurare all’individuo il controllo sulla propria rappresentazione informatizzata (la privacy).
- garantire la sicurezza dei sistemi e dei dati che essi contengono (se si fermano i sistemi informatici, le dinamiche so-
ciali sono oggi paralizzate, giacché la società odierna è fortemente dipendente dal funzionamento dei calcolatori).
- prevenire le frodi informatiche.
- consentire l’accesso ai dati pubblici.
- assicurare l’autenticità e l’integrità dei documenti informatici.
Per raggiungere tali scopi l’intervento del diritto è sicuramente necessario.
Nella società dell’informazione l’individuo acquista nuove capacità, grazie a svariati strumenti informatici che potenzia-
no ed integrano le sue capacità naturali. Le tecnologie dell’informazione non si limitano a fornire al singolo le informazioni
e le elaborazioni di cui ha bisogno nella vita privata e professionale, ma mediano e talvolta sostituiscono le interazioni per-
sonali. Grazie a tali tecnologie l’individuo acquista nuove opportunità di relazioni sociali, e di conseguenza egli tende a
staccarsi dalle comunità geografiche di appartenenza. La società dell’informazione si caratterizza per la presenza di tendenze
apparentemente contrastanti: da un lato le nuove possibilità aperte dalla tecnologia dell’informazione esaltano il ruolo
dell’individuo e la sua autonomia nel creare e comunicare nuovi contenuti, mentre dall’altro l’individuo sperimenta la pro-
pria solitaria impotenza di fronte all’enorme quantità dei contenuti accessibili.
L’informatizzazione ha investito tanto il settore economico quanto quello politico ed amministrativo. Come
l’informatizzazione di un’organizzazione economica investe tanto le attività produttive e gestionali interne (il back office),
quanto le interazioni con i clienti e fornitori (il front office), così l’informatizzazione delle organizzazioni pubbliche investe
tanto i processi politici ed amministrativi interni, quanto le interazioni con i cittadini, le imprese, gli enti pubblici e privati.
Ricordiamo in particolare:
- e-commerce (commercio elettronico): effettuazione di scambi commerciali utilizzando reti telematiche.
- e-governance (direzione elettronica): uso delle tecnologie dell’informazione nella direzione, pianificazione e con-
trollo delle organizzazioni pubbliche e private.
- e-government (governo elettronico): uso delle tecnologie dell’informazione nella gestione degli enti pubblici e
nello svolgimento delle loro funzioni.
- e-democracy (democrazia elettronica): uso dell’informatica nella comunicazione politica e nel dibattito pubblico.
- e-partecipation (partecipazione elettronica): uso delle tecnologie dell’informazione all’esterno delle strutture
pubbliche per partecipare alla vita politica.
Nella società dell’informazione si manifesta il cosiddetto effetto di rete (network effect): quanto più una rete è ampia ed
intensamente sfruttata, tanto più quella rete acquista valore, cioè, tanto maggiore diventa l’utilità che ciascuno può
trarre da essa. Ciò vale in particolare per le reti usate nella comunicazione: quante più persone usano una certa rete, come
la rete telefonica o Internet, tante più persone sono raggiungibili mediante la stessa rete, e quindi tanto più utile è per ciascu-
no partecipare ad essa. Possiamo notare come l’effetto di rete caratterizza anche la rete che si instaura tra gli utenti e gli svi-
luppatori che adottano certi software o certi prodotti: ad esempio, il software elaboratore di testi Microsoft Word è usato dal-
la grandissima maggioranza degli utenti, poiché questi debbono frequentemente scambiarsi documenti elettronici, e tali
scambi sono facilitati dall’impiego del medesimo elaboratore di testi (i documenti che il mittente invia possono essere utiliz-
zati dal ricevente senza la necessità di conversioni). Crescendo l’utilità della rete per i singoli, tanti più singoli si collegano
alla rete stessa, il che accresce ancora di più l’utilità della rete per il singolo partecipante, e quindi aumenta l’incentivo a fare
parte della rete per chi non si sia ancora collegato. Di conseguenza, le reti solitamente si avviano lentamente, ma quando una
rete ha successo, e cioè supera la soglia critica al di là della quale l’utilità per l’utilizzatore supera nettamente i costi della
partecipazione, la crescita diventa sempre più accelerata. Secondo la legge di Metcalfe, l’utilità che ciascun utente può
trarre da una rete è proporzionale al quadrato del numero degli utenti.
Anche se l’effetto di rete non si verifica solo nel campo dell’informatica, tale effetto è potenziato da alcune caratteristiche
dell’informatica stessa:
- le tecnologie dell’informazione sono caratterizzate da costi fissi molti alti e costi marginali molto bassi. Per rea-
lizzare la prima copia di un nuovo prodotto bisogna sostenere costi molto elevati (i costi di progettazione e svilup-
po), ma la produzione di ulteriori copie dello stesso prodotto ha in generale costi bassissimi (nel caso del software il
costo della produzione di una ulteriore copia si avvicina allo zero). Di conseguenza, chi controlla una parte più am-
pia del mercato è avvantaggiato, poiché può suddividere i propri costi fissi tra una base più ampia di utenti, e quindi
può offrire il proprio prodotto ad un prezzo più basso.
- passare dall’una all’altra soluzione informatica comporta costi elevati, e di conseguenza l’utente tende a diventare
prigioniero della tecnologia che ha adottato (lock-in).
L’effetto di rete può dare luogo a fenomeni importanti sul mercato dell’informatica:
- la tendenza monopolistica, intesa come monopolio orizzontale (gli utenti tendono a convergere sull’uso di poche
soluzioni tecnologiche, che rappresentano le reti più estese, come ad esempio Windows, iPhone, Google, ecc) e
monopolio verticale (che domina un certo settore tende ad estendere il proprio controllo anche sui settori connessi).
A questo riguardo, negli anni scorsi, si è discusso del comportamento commerciale di Microsoft che, sulla base del
proprio assoluto dominio nel campo dei sistemi operativi per PC, aveva acquisto una posizione dominante anche nel
campo dei software per l’elaborazione di testi e la navigazione su Internet; Microsoft, rifiutandosi di fornire le in-
formazioni necessarie per l’interoperabilità tra i propri prodotti e quelli sviluppati da altre aziende, era stata accusata
di abuso della propria posizione dominante.
- il fatto che ogni produttore ha interesse ad anticipare il più possibile il rilascio di nuovi prodotti, perché se un
prodotto riesce ad acquistare un’ampia diffusione sul mercato prima dell’arrivo dei prodotti concorrenti, l’effetto di
rete giocherà a suo favore (ciò spiega perché vengano spesso diffusi prodotti ancora prematuri, ricchi di errori ed
imperfezioni).
- l’asimmetria nell’informazione, cioè la differenza tra le conoscenze possedute da chi fornisce un prodotto e da chi
lo utilizza (chi fornisce un prodotto informatico normalmente ha maggiori conoscenze di chi lo utilizza). Tale situa-
zione può pregiudicare i consumatori, ma può altresì incidere sul corretto funzionamento dei mercati:
- si avrà un mercato dei limoni: se l’utilizzatore non è in grado di distinguere i prodotti che hanno buone prestazio-
ni di quelli che hanno prestazioni peggiori, i prodotti scadenti tenderanno a prevalere, in quanto preferiti dai consu-
matori in ragione del loro prezzo più basso.
- si avrà una situazione di selezione avversa: quando l’utente non è in grado di distinguere servizi buoni e servizi
scadenti, i fornitori possono dotarsi di un indice di qualità non veritiero, in particolare i peggiori fornitori saranno
maggiormente interessati ad avere una falsa reputazione per nascondere la bassa qualità dei loro servizi.
L’economia della società dell’informazione è anche caratterizzata da tendenze di diversificazione dei prodotti e
dall’apertura dei mercati:
- grazie ai bassi costi di distribuzione è possibile commercializzare anche prodotti di nicchia, cui è interessata solo
una frazione molto ristretta del mercato (questo è il fenomeno della coda lunga, long tail). Realizzare e commercia-
lizzare prodotti destinati ad una scarsissima diffusione diventa conveniente solo quando i costi della distribuzione di
quei prodotti si mantengano molto bassi, come avviene nella distribuzione mediante Internet. Per esempio, un’ampia
quota delle vendite dei siti che forniscono film o musica on-line è rappresentata da prodotti di nicchia, normalmente
non disponibili nei negozi, che solo mediante Internet possono essere commercializzati con profitto.
- il diminuito rilievo del capitale fisico, cioè delle macchine, rispetto al contributo umano. Gli elevati costi dei mac-
chinari dell’economia industriale limitavano l’attività produttiva alle organizzazioni che disponevano del capitale
necessario ad acquistare i dovuti macchinari, ed inoltre richiedevano che i prodotti fossero commercializzati a prezzi
di mercato idonei a coprire tali costi. Nell’economia dell’informazione, invece, gli strumenti di produzione sono ge-
neralmente accessibili a basso costo; diventano così possibili nuovi modi di produzione commerciale, nei quali pro-
getti di ampie dimensioni possono attuarsi mediante la partecipazione decentrata di individui o piccole unità produt-
tive (allargamento del mercato).
Possiamo vedere come lo studio di questi temi presuppone la conoscenza dei metodi e delle tecnologie dell’informatica, una
conoscenza che è precondizione necessaria per poter correttamente interpretare le norme giuridiche. Inoltre, in taluni settori,
le questioni del diritto dell’informatica sono strettamente connesse con quelle dell’informatica del diritto: ciò avviene quan-
do il diritto regoli l’uso dell’informatica in certe attività giuridiche.
Se ci limitiamo invece agli studiosi che espressamente si richiamano alle moderne tecnologie dell’informazione, possiamo
trovare l’idea dell’informatica giuridica in alcuni contributi pubblicati nella seconda metà degli anni ’40. Si usa indicare
Lee Loevinger come il fondatore dell’informatica giuridica, il quale nel 1.949 propose l’uso del termine giurimetria per
indicare un nuovo modo di accostarsi al diritto, ispirato al metodo scientifico. Aspetto essenziale della giurimetria, accanto
all’uso di tecniche logiche e matematiche nella trattazione dei problemi giuridici, è l’impiego di strumenti informatici per
elaborare dati giuridici (soprattutto al fine di prevedere decisioni future alla luce dei precedenti e dei comportamenti dei giu-
dici).
Negli anni ’50 alle intuizioni fanno seguito le prime proposte operative e le prime realizzazioni. Nel 1.956 ha luogo la pri-
ma digitalizzazione delle fonti del diritto, presso il Centro di Diritto Sanitario (Health Law Center) dell’Università di Pit-
tsburgh. Il problema che il legislatore della Pennsylvania deve risolvere attiene alla correttezza politica ed in particolare
all’esigenza di evitare l’uso di espressioni avvertite come offensive o umilianti da parte degli interessati: bisogna sostituire
in tutta la legislazione dello Stato della Pennsylvania il termine “bambino ritardato” con il termine “bambino particolare”. In
considerazione del fatto che la lettura dei testi da parte dell’uomo non garantisce l’esatto compimento di tutte le sostituzioni,
si decide di ricorrere all’informatica: si registra tutta la normativa in materia di sanità su un supporto leggibile dal calcolato-
re (schede perforate) e si affida al calcolatore il compito di individuare i punti nei quali compariva il termine da sostituire.
La prima applicazione dell’informatica giuridica attiene quindi alla redazione di un nuovo testo legislativo. Tuttavia, una
volta che i dati sono disponibili su un supporto magnetico, si ha l’idea di utilizzarli quale fonte elettronica di cognizione del
diritto nella ricerca giuridica: anziché limitarsi a chiedere al sistema di estrarre i testi che contengono il termine “bambino
ritardato”, è possibile chiedere ad esso di estrarre i testi che contengano una qualsiasi parola. Nasce così il primo strumento
per la ricerca giuridica in testo integrale, mentre gli indici tradizionali consentivano di individuare nel testo le sole pagine
che contengono i termini scelti dall’autore dell’indice, il calcolatore consente di ricercare i contesti dove compare qualsiasi
parola il ricercatore ritenga significativa.
Nel corso degli anni ’60 e ‘70 si moltiplicano le iniziative nel campo dell’informatica giuridica (si ha anche la nascita delle
prime riviste e volumi in materia). Negli USA entrano in funzione i primi sistemi commerciali gestiti da privati per la ricerca
informatizzata dei testi giuridici. In Europa, invece, sono i pubblici poteri a prendere le prime iniziative nel campo della in-
formatizzazione delle fonti di cognizione del diritto. In particolare in Italia:
- nella seconda metà degli anni ’60 ha inizio l’esperienza del sistema Italgiure, presso l’Ufficio Massimario della
Corte di Cassazione (un progetto tutt’ora attivo).
- vengono create banche dati del Senato e della Camera dei deputati.
- negli anni ’70 vengono create le prime banche dati della pubblica amministrazione, in particolare nell’ambito
dell’amministrazione finanziaria. Iniziano anche le prime esperienze sull’automazione degli uffici giuridici.
Durante gli anni’70 l’informatica giuridica si arricchisce di un’ulteriore dimensione, rappresentata dagli studi di intelligenza
artificiale e diritto.
Negli anni ’80 e ’90 l’informatica giuridica passa dai primi prototipi sperimentali alle realizzazioni operative utilizzate da
una larga parte degli operatori del diritto. Tale passaggio è stato facilitato da due grandi innovazioni: il PC (il calcolatore a
basso costo destinato all’uso individuale) e la telematica (la congiunzione tra informatica e telecomunicazioni). Il PC si dif-
fonde in ogni ambito della vita sociale (all’inizio il suo utilizzo si limitava a funzionalità non specificatamente giuridiche).
Esso facilita la distribuzione delle banche dati informatiche, perché può essere usato per accedere ad esse senza la necessità
di terminali a ciò dedicati; a questo riguardo ha grande importanza la disponibilità di nuovi strumenti telematici per la co-
municazione a distanza: grazie al modem, che trasforma i segnali informatici in onde che viaggiano su linee telefoniche, o-
gni cavo telefonico può essere usato per collegarsi a calcolatori remoti. La crescita della cerchia degli utenti dà grande im-
pulso allo sviluppo delle banche di dati giuridici. Negli anni ’80 l’informatizzazione della pratica del diritto si estende al di
là della ricerca delle fonti: sono sviluppati numerosi software per la gestione degli studi legali e notarili e negli uffici giudi-
ziari si hanno alcune esperienze nella gestione informatizzata dei registri di cancelleria. Accanto alle realizzazioni pratiche
crescono anche gli studi teorici sull’informatica giuridica e, sempre negli anni ’80, ha inizio l’attività didattica di tale mate-
ria. All’inizio degli anni ’90 si diffondono i CD (compact disk, disco compatto), supporti ottici dotati di capacità di memo-
rizzazione molto elevata a fronte di un costo molto basso: essi possono essere usati sui normali PC senza la necessità di col-
legamenti telematici. Le opere già disponibili su supporto cartaceo possono essere ora trasferite su disco compatto, e di con-
seguenza possono essere riprodotte e distribuite a costi molto inferiori. Le fonti di cognizione elettroniche del diritto si e-
stendono quindi al di là della giurisprudenza (in massime) e della legislazione, diventano accessibili in formato elettronico
anche articoli di dottrina e sentenze in testo integrale. Nella seconda metà degli anni ’90 si verifica un’ulteriore importante
rivoluzione nell’informatica giuridica, rappresentata dall’avvento di Internet. Le fonti elettroniche del diritto possono tra-
sferirsi sulla rete e diventare accessibili a tutti, Internet diventa progressivamente la principale fonte di cognizione del dirit-
to. La rete, in particolare grazie alla posta elettronica, viene utilizzata dagli operatori del diritto quale mezzo di comunica-
zione. Gli studi notarili si dotano di una loro rete telematica, con elevate prestazioni di sicurezza, ed utilizzano la rete per
trasmettere informazioni ai registri immobiliari e delle imprese. Gli enti pubblici utilizzano sempre più la rete per presentare
sé stessi e per dare informazioni ai cittadini, comunicare con i soggetti interessati, fornire talune prestazioni, ecc.
Con l’inizio del nuovo millennio l’informatica del diritto si è ulteriormente arricchita. Ormai essa si estende al di là della
documentazione e della gestione, abbracciando gli ambiti dell’organizzazione e della comunicazione (esempio tipico di que-
sto fenomeno è rappresentato dal processo civile telematico, termine con cui si indica lo scambio bidirezionale di documen-
ti elettronici tra gli operatori del processo). Negli ultimi anni si è assistito anche ad importanti realizzazioni operative basa-
te sull’intelligenza artificiale: sistemi che assistono l’uomo nell’applicazione di regole, nella preparazione di nuove norma-
tive, nella ricerca e nell’utilizzo dei precedenti, nell’effettuazione di scelte giuridiche ed amministrative, ecc.
Nel corso degli anni ’70, emerge un nuovo importante tema, quello della tutela dei dati personali, ossia della tutela della
persona rispetto ai rischi derivanti dalla raccolta ed elaborazione delle informazioni che la riguardano.
Negli anni ’80 la tendenza a proteggere il software mediante il diritto d’autore si consolida in numerosi Paesi, anche attra-
verso esplicite previsioni legislative.
In Italia passeranno alcuni anni prima che il legislatore si decida ad entrare nel campo del diritto dell’informatica con inter-
venti di una certa ampiezza ed organicità. I temi del diritto dell’informatica, peraltro, cominciano ad emergere nella giuri-
sprudenza, che deve confrontarsi con un numero sempre maggiore di controversie ad oggetto informatico; in particolare in
ambito civilistico si segnalano le numerose sentenze che assimilano il software alle opere letterarie, applicando ad esso la
tutela del diritto d’autore. Il primo testo normativo specificamente dedicato al diritto dell’informatica, improntato su temi di
hardware, risale alla fine degli anni ’80. All’inizio degli anni ’90, invece, l’attenzione del legislatore passa dall’hardware al
software: in attuazione di una direttiva dell’Unione Europea relativa alla tutela giuridica dei programmi per elaboratore, il
d.lgs. 518/1.991 prevede espressamente che il software sia protetto mediante diritto d’autore, rafforzando tale tutela con
previsioni specifiche. Dopo questo decreto, gli interventi legislativi nel campo del diritto dell’informatica si moltiplicano,
tutti per lo più posti in essere in adempimento di direttive europee. Nel 1.993 si ha la creazione di una sorta di diritto penale
dell’informatica: la legge introduce nel Codice Penale alcune fattispecie specificatamente connesse con il mondo
dell’informatica. Nel 1.996 l’Italia, uniformandosi alle più esigenti legislazioni europee, si dota di una penetrante disciplina
sulla tutela dei dati (ricordiamo che il Codice della privacy è del 2.003). Nel 1.997, infine, il nostro legislatore, anticipando
la normativa europea, disciplina l’impiego della firma digitale.
Negli ultimi anni, a partire dal nuovo millennio, si è assistito ad un’ulteriore accelerazione degli interventi legislativi nel
campo del diritto dell’informatica, sia attraverso leggi e decreti del governo, sia attraverso numerose disposizioni regola-
mentari e provvedimenti di autorità indipendenti (il Garante della tutela dei dati, l’Autorità delle telecomunicazioni, ecc).
Il diritto dell’informatica si segnala, forse più di ogni altro settore del diritto, per la sua dimensione globale: sembra che il
diritto possa bilanciare con efficacia i diversi interessi in conflitto nella società dell’informazione solo se esso preveda solu-
zioni comuni (si pensi, ad esempio, alla possibilità che dati personali o contenuti illeciti siano trasferiti in Paesi dove manca
una efficace disciplina giuridica). Quasi tutti gli interventi legislativi nel diritto dell’informatica nascono dall’iniziativa del
legislatore europeo, e si tratta di interventi unificati da un obbiettivo politico-legislativo unitario, quello dello sviluppo della
società dell’informazione. Temi di diritto dell’informatica sono oggi trattati anche ai livelli più alti delle relazioni interna-
zionali: per esempio, la tutela del software e dei contenuti digitali ha costituito il tema principale delle più recenti trattative
presso l’Organizzazione Mondiale del Commercio (World Trade Organisation, WTO).
CAPITOLO 2: Il calcolatore
Il protagonista della scena dell’informatica, l’artefice dell’informatizzazione, è il calcolatore digitale o calcolatore tout
court (detto computer o elaboratore), la macchina dedicata all’elaborazione automatica delle informazioni digitali.
Le principali caratteristiche del calcolatore sono:
- compiere operazioni matematiche ad altissima velocità.
- registrare enormi quantità di informazioni in spazi ridottissimi e ritrovare i dati richiesti con un’incredibile rapidità.
- trasmettere informazioni a grandi distanze e con enorme velocità.
- governare dispositivi meccanici che compiono operazioni di precisione (i robot).
- eseguire programmi che svolgono funzioni molteplici (elaborazione di testi, gestione di archivi, calcolo, gestione
della contabilità, ecc).
L’idea di utilizzare dispositivi materiali per elaborare informazioni non è nuova: l’abaco (il pallottoliere) risale a circa 7.000
anni fa. Anche l’idea di definire metodi precisi per elaborare informazioni ha una storia antica: il nome algoritmo deriva dal
matematico persiano Mohammed al-Khwarizmi, vissuto nel 9° secolo, i cui scritti contribuirono ad introdurre in Europa i
numeri decimali e l’algebra. In particolare egli indicò le regole precise, da seguire passo dopo passo, che usiamo fin dalle
scuole elementari per aggiungere, sottrarre, moltiplicare e dividere i numeri decimali. Si tratta di procedure, algoritmi, che ci
sembrano ovvie e banali ma che rappresentano un’enorme progresso rispetto alle precedenti tecniche per eseguire calcoli
numerici. Blaise Pascal costruì, nel 17° secolo, la Pascalina, una macchina per compiere addizioni e sottrazioni. Gottfried
Leibniz perfezionò la Pascalina, costruendo un apparecchio in grado di eseguire anche le moltiplicazioni. Tanto la Pascalina
quanto l’apparecchio di Leibniz erano calcolatrici automatiche ma non elettroniche: esse funzionavano grazie ad ingranaggi
e ruote dentate, non mediante il passaggio di elettroni. Queste macchine potevano eseguire di volta in volta solo una delle
operazioni di cui erano capaci (per esempio una sola addizione); quindi esse non erano programmabili, perché non pote-
vano eseguire automaticamente un’intera combinazione di operazioni sulla base di indicazioni fornite in anticipo.
Per trovare l’elemento della programmabilità si deve uscire dall’ambito della matematica e della filosofia, e ci si deve spo-
stare in ambito tecnologico ed industriale. All’inizio dell’800 l’artigiano francese Joseph Marie Jacquard inventò un nuo-
vo tipo di telaio, che era in grado di tessere da solo, cioè automaticamente, diversi tipi di trame. A questo tipo di telaio si sa-
rebbe ispirato il matematico inglese Charles Bobbage: egli concepì il Motore Analitico, una macchina dotata di competen-
za generale, capace di eseguire qualsiasi calcolo. La peculiarità del Motore Analitico era la programmabilità: oltre ad essere
in grado di compiere operazioni aritmetiche di base, esso era in grado di eseguire qualsiasi combinazione di tali operazioni.
La combinazione delle operazioni da eseguire (il programma) si specificava mediante istruzioni riportate su schede perfora-
te. Le istruzioni indicate nelle schede venivano registrate nella memoria interna al Motore Analitico, che avrebbe preceduto
poi alla loro esecuzione, restituendone il risultato. Nel Motore Analitico l’organo di calcolo (che effettuava le operazioni
aritmetiche) e l’organo di memoria (che registrava istruzioni e dati) erano affiancati da un organo di controllo (che stabi-
liva quale dovesse essere la prossima istruzione da eseguire, sulla base delle istruzioni già eseguite e dei risultati ottenuti).
Tuttavia, Bobbage non riuscì a superare alcuni problemi tecnici ed il suo Motore Analitico rimase solo un progetto.
Tra gli antenati del moderno calcolatore si suole menzionare anche la macchina calcolatrice, anch’essa meccanica e basata
su schede perforate, costruita dall’ingegnere americano Herman Hollerith ed utilizzata per i calcoli attinenti al censimento
americano del 1.890. Lo stesso Hollerith sarà poi il fondatore di IBM (International Business Machines).
Negli anni ’30 si ottennero alcuni risultati fondamentali nel campo della teoria degli algoritmi. Inoltre si realizzò la possibi-
lità di costruire macchine universali, cioè capaci di elaborare qualsiasi algoritmo espresso in un programma per quella
macchina: tali macchine eseguono una procedura esattamente definita ed astratta, cioè non finalizzata ad un risultato partico-
lare, che consiste nell’eseguire qualsiasi programma (descrizione di algoritmo) che sia fornito alla macchina, applicandolo ai
dati di input. I moderni calcolatori devono la loro universalità alla loro capacità di accogliere i dati ed anche i programmi.
Per ritrovare i primi calcolatori moderni, digitali ed elettronici, dobbiamo spostarci al tempo della seconda guerra mon-
diale, quando i primi calcolatori furono inventati nei Paesi belligeranti. In Inghilterra un gruppo di matematici ed ingegneri,
guidato da Alan Turing, realizzò nel 1.941 il Colossus, un calcolatore elettronico ma non programmabile, che fu impiegato
con successo nel decifrare i codici utilizzati per la comunicazione dell’esercito tedesco. In Germania, Konrad Zuse, tra la
fine degli anni ’30 e l’inizio degli anni ’40, realizzò il primo calcolatore programmabile basato sul sistema binario (ma
la sua invenzione fu sottovaluta ed il governo non ne seppe cogliere l’importanza).
All’inizio degli anni ’50 avvenne il salto tecnologico che consentì di passare ai primi veri calcolatori moderni: si tratta della
registrazione del programma stesso nella memoria del calcolatore. Ciò consentiva di accedere con rapidità alle singole
istruzioni da eseguire, e soprattutto di compiere salti condizionati (cioè eseguire o saltare certe istruzioni del programma sul-
la base dei risultati precedentemente ottenuti).
I calcolatori di oggi sono costruiti sulla base del modello della macchina di von Neumann (matematico statunitense), con il
programma memorizzato internamente al calcolatore. Secondo questo modello l’unità di controllo e l’unità di calcolo co-
stituiscono l’unità centrale di elaborazione (central processing unit, CPU), detta anche processore. Esse operano in mo-
do collegato: l’unità di controllo identifica l’istruzione da eseguire ed i relativi dati, mentre l’unità di calcolo esegue
l’operazione. Dati ed istruzioni vengono prelevati dalla memoria centrale, nella quale vengono trasferiti anche i risultati
delle elaborazioni. La memoria centrale è un dispositivo di memorizzazione ed alta velocità di lettura e scrittura, tipicamente
volatile (si cancella quando il calcolatore si spegne). Essa deve essere distinta dalle memorie di massa (dette anche secon-
darie o esterne o periferiche), consistenti in dispositivi, solitamente dischi magnetici od ottici, capaci di contenere permanen-
temente grandi quantità di informazioni. Affinché le informazioni contenute nelle memorie di massa (sia i dati che i pro-
grammi) possano essere elaborate dall’unità centrale di elaborazione, esse devono essere trasferite, cioè riprodotte, nella
memoria centrale, che è la sola direttamente accessibile all’unità centrale di elaborazione. Ciò significa che l’esecuzione di
un software residente sul disco di un computer ne comporta la duplicazione, poiché il software deve essere copiato nella
memoria centrale.
L’unità centrale di elaborazione di un calcolatore può considerarsi costituita da una complessa combinazione di interrutto-
ri, azionati dal calcolatore stesso, che cambiano posizione nel corso dell’elaborazione, lasciando passare la corrente elettrica
o interrompendone il flusso. Per realizzare e connettere tali interruttori sono state utilizzate, nel corso degli anni, tecnologie
sempre più avanzate, che hanno consentito di ridurre le dimensioni dei calcolatori e di aumentarne la potenza:
- i relay (usati negli esperimenti degli anni ’30): apparecchiature elettromagnetiche che, sotto l’effetto della corrente
elettrica, muovono una linguetta metallica attivando un contatto.
- le valvole termoioniche (usate nei primi calcolatori elettronici).
- i transistor: dispositivi formati da materiali semiconduttori che lasciano passare la corrente elettrica se magnetizzati
in certi modi.
- i circuiti integrati inseriti in un chip (frammento) di silicio: consistono in migliaia di transistor di piccolissime di-
mensioni combinati in circuiti elettrici miniaturizzati. In un circuito integrato possono essere riunite, a costi molto
minori, funzioni in precedenza svolte da molte componenti elettroniche distinte. La grande invenzione degli anni
’70 fu il microprocessore: un circuito integrato che comprende l’unità centrale di elaborazione realizzata su un uni-
co chip. Gli anni seguenti hanno visto una rapidissima crescita sia nel numero di transistor inclusi in un micropro-
cessore, sia nella velocità dei microprocessori stessi. Questo ha consentito la realizzazione di microcalcolatori (cal-
colatori la cui unità centrale di elaborazione è costituita da un microprocessore) sempre più potenti e sempre meno
costosi. I microcalcolatori si sono presto diffusi negli ambienti di lavoro e nelle case, divenendo calcolatori perso-
nali (personal computer, PC), destinati all’uso individuale. Essi hanno consentito l’ingresso dell’informatica in
tutti gli ambiti della vita individuale e sociale e, in particolare, nelle attività giuridiche (uffici pubblici, tribunali,
studi legali e notarili). Il microprocessore, grazie alla sua estrema miniaturizzazione, ha potuto introdursi nei più
svariati macchinari e dispositivi tecnologici (automobile, lavatrice, telefonino, carta di credito, ecc).
I microprocessori hanno avuto una straordinaria rapidità di sviluppo. L’enunciazione più famosa al riguardo è la
legge di Moore, formulata nel 1.964 da Gordon E. Moore, co-fondatore dell’Intel, l’impresa che oggi domina il
mercato dei microprocessori: la potenza dei calcolatori raddoppia circa ogni 2 anni. Anche se questa affermazio-
ne più di una vera e propria legge rappresenta un’indicazione sulla tendenza,fino ad oggi è stata confermata. Si di-
scute sulla continuazione di tale crescita, che dovrà scontrarsi, prima o poi, con i limiti fisici della miniaturizzazione
(ad un certo punto si raggiungeranno dimensioni tanto piccole da rendere impossibile la realizzazione o il funziona-
mento dei circuiti). Resta aperta peraltro la possibilità che una crescita ulteriore sia consentita dal passaggio a tecno-
logie completamente diverse da quelle attuali. L’altra faccia dello sviluppo tecnologico nel settore dei microproces-
sori è la seconda legge di Moore: il costo dello sviluppo di un circuito integrato raddoppia ad ogni nuova ge-
nerazione di microprocessori. Questa legge spiega perché pochissime imprese siano in grado di progettare nuovi
microprocessori per microcalcolatore: non più di 3 o 4 imprese dominano il mercato dei microprocessori ed una di
esse, l’Intel, ne copre circa il 90%. Lo sviluppo delle prestazioni dei microcalcolatori ha determinato una profonda
trasformazione nell’hardware e nell’industria informatica: i microcalcolatori hanno sostituito i calcolatori di mag-
giori dimensioni, e di conseguenza i tradizionali produttori di hardware, che un tempo dominavano il mercato
dell’informatica grazie alla produzione di grandi elaboratori, sono stati affiancati e spesso sostituiti da nuove impre-
se, capaci di produrre microcalcolatori.
Ricordiamo che oggi i computer operano interagendo sempre di più con l’ambiente in modo automatico, cioè facendolo in
modo diretto e senza che vi sia la necessità di un intervento umano come mediazione.
Uno dei fenomeni più importanti del nostro tempo è il passaggio dalla tecnologia analogica alla tecnologia digitale. Si con-
frontino, per esempio, un vecchio registratore a nastro di cassette ed un moderno masterizzatore di CD. Il registratore è dota-
to di una testina che percorre il nastro realizzando su di esso una struttura fisica, cioè una traccia, le cui caratteristiche corri-
spondono alle caratteristiche delle onde sonore riprodotte, quelle rilevate dal microfono o da una testina di lettura, per cui si
può dire che la traccia è analoga alle onde sonore. Il passaggio opposto si compie quando a partire dalla traccia si riproduce
il suono corrispondente, e le onde magnetizzate sono trasformate in onde sonore analogiche. La traccia analogica è continua,
cioè essa non procede per gradini. Il masterizzatore di CD, invece, registra il suono in una struttura che non assomiglia al
fenomeno sonoro, il suono è invece espresso mediante una sequenza di numeri interi. A partire da questi numeri, il lettore
(con l’aiuto delle casse) riproduce il suono corrispondente. Pertanto, la registrazione su CD comporta la digitalizzazione, os-
sia la trasformazione di grandezze continue (le caratteristiche fisiche del suono) in quantità digitali (numeri interi distinti).
In sintesi:
- la tecnologia analogica riproduce un certo fenomeno sotto forma di una traccia che riproduce il funzionamento del
fenomeno originario, cioè riproduce il fenomeno originario in modo analogo ad esso.
- la tecnologia digitale rappresenta il fenomeno originario attraverso una sequenza di numeri e poi lo riproduce prov-
vedendo alla lettura di tale sequenza.
La rappresentazione digitale sembra più imprecisa e rozza di quella analogica, tuttavia è possibile offrire una rappresenta-
zione sufficientemente precisa per i fini che si perseguono (quando un’immagine è raffigurata sullo schermo di un calcolato-
re ciò avviene mediante la composizione di puntini distinti, ciascuno dei quali ha un preciso colore, e tali puntini sono tal-
mente piccoli che il nostro occhio non riesce a percepirli singolarmente, cogliamo solamente il risultato complessivo della
loro combinazione).
La rappresentazione digitale offre tre vantaggi importanti rispetto a quella analogica:
- è riproducibile con assoluta precisione (la riproduzione è in tutto e per tutto identica all’originale). Ogni nuova ri-
produzione di una rappresentazione analogica comporta una perdita parziale dell’informazione originaria: anche i
più leggeri difetti del meccanismo di riproduzione, le più leggere variazioni nelle condizioni in cui la riproduzione
ha luogo, comportano differenze della copia rispetto all’originale, differenze che si sommano di riproduzione in ri-
produzione. Tale perdita non avviene invece nella riproduzione di rappresentazioni digitali, poiché qui basta ripro-
durre gli stessi numeri per avere una copia perfetta.
- non si danneggia con il passare del tempo (per via del motivo visto sopra).
- è direttamente elaborabile dal calcolatore. In particolare, il sistema di rappresentazione digitale adottato
nell’elaborazione automatica dell’informazione è il sistema binario. Si tratta di un sistema che trova la sua giustifi-
cazione nella facilità del suo uso per memorizzare ed elaborare le informazioni mediante sistemi informatici.
Il sistema di rappresentazione dei numeri da noi comunemente adottato è il sistema decimale, che utilizza le dieci cifre
(0,1,2,3,4,5,6,7,8,9). Il sistema decimale è un sistema posizionale: ogni cifra di un numero rappresenta un valore che dipen-
de dalla posizione della cifra stessa, posizione calcolata a partire dalla fine del numero ed iniziando a contare da zero (ogni
posizione india una potenza del 10). Grazie alla sua natura posizionale il sistema decimale consente di rappresentare qualsia-
si numero utilizzando sempre gli stessi dieci simboli numerici.
Anche il sistema binario è un sistema posizionale, il quale, a differenza del sistema decimale, usa solamente due cifre (0 e
1) ed ogni posizione esprime una potenza del 2 (la cifra nella posizione 0, l’ultima, indica sempre le unità).
Perché il sistema binario è usato dai computer? Non vi sono ragioni di principio che vietino di adottare nei calcolatori il si-
stema decimale, e quindi di rappresentare anche all’interno dei calcolatori l’informazione mediante strutture fisiche dotate di
dieci posizioni possibili. Tuttavia, nei calcolatori, è molto più facile utilizzare componenti fisiche (elettroniche) dotate della
capacità di assumere due sole posizioni: un interruttore può essere acceso (lascia passare la corrente) o spento (interrompe il
flusso di corrente). Per queste ragioni nei moderni calcolatori le informazioni non sono rappresentate mediante cifre decima-
li, ma mediante cifre binarie. La singola cifra binaria è detta bit, ed è l’unità minima dell’informazione registrata od elabora-
ta da un calcolatore: il bit può assumere uno dei due possibili valori del sistema binario, la cifra 0 o la cifra 1. Una sequenza
di 8 bit prende il nome di byte. Il byte, a sua volta, ha i seguenti multipli: il kilobyte o KB (circa 1.000 bytes), il megabyte
o MB (circa 1.000 KB), il gigabyte o GB (circa 1.000 MB), il terabyte o TB (circa 1.000 GB). Nel sistema binario la rap-
presentazione di un valore numerico richiede un numero di posizioni superiore a quello richiesto nel sistema decimale, per
questo motivo la numerazione binaria non è adatta all’uomo, che non è in grado di memorizzare agevolmente lunghe se-
quenze di cifre. Il calcolatore invece non ha tali problemi, essendo dotato di una grande capacità di memoria. Il calcolatore
stesso si occupa di tradurre i numeri dalla rappresentazione decimale a quella binaria quando riceve un input numerico
dall’uomo, e dalla rappresentazione binaria a quella decimale quando trasmette un output numerico all’uomo.
Attraverso le cifre binarie è possibile rappresentare qualsiasi oggetto (numeri interi, numeri decimali, simboli di ogni
tipo come lettere dell’alfabeto, simboli matematici e logici, ecc): basta stabilire precise corrispondenze tra i numeri binari e
gli oggetti da rappresentare. I numeri binari consentono di rappresentare non solo caratteri, ma anche altri tipi
d’informazione: per esempio un’immagine in bianco e nero può essere rappresentata mediante una mappa di bit (bitmap),
ciascuno dei quali corrisponde ad un punto di quell’immagine, così se il punto è nero il bit è 1 e se il punto è bianco il bit è 0
(rappresentazioni più complesse consentono di riprodurre immagini a colori). Anche i suoni possono essere rappresentati in
forma binaria.
Un ulteriore vantaggio del sistema binario è costituito dal suo parallelismo con la logica: come nel sistema binario una cifra
può assumere due soli possibili valori tra loro alternativi (0 o 1), così nella logica una proposizione può assumere due soli
valori tra loro alternativi (essere vera o essere falsa). È possibile stabilire una perfetta corrispondenza tra le cifre binarie e le
proposizioni, se si conviene di fare corrispondere la verità con la cifra 1 (anziché dire che una proposizione è vera, diciamo
che essa vale 1) e la falsità con la cifra 0 (anziché dire che una proposizione è falsa, diciamo che essa vale 0).
A questo proposito è importante considerare gli studi di George Boole (1.815 - 1.864). Egli notò che le combinazioni tra le
proposizioni obbediscono a regole ben definite, di cui si può dare una formulazione precisa, regole simili a quelle che go-
vernano le operazioni dell’aritmetica. Tali regole determinano il funzionamento dei connettori logici, le congiunzioni che
servono a collegare le singole proposizioni in strutture più complesse (i connettivi principali corrispondono alle congiunzio-
ni italiane “e”, “o”, “non”, cioè “and”, ”or”, ”not”).
Come è fatto l’interno di un computer? Abbiamo detto che certe espressioni che usiamo nel linguaggio (“e”, “o”, “non”)
hanno un certo significato e rispondono a regole logiche ben precise (le regole risultanti dagli studi di Boole). Claude
Shannon ebbe l’idea di realizzare dei dispositivi elettronici operanti proprio come i connettori logici, detti porte logiche
(esse sono in grado di realizzare operazioni logiche tra diverse variabili che possono assumere solamente due valori, vero o
falso cioè 1 o 0). Le porte logiche possono essere combinate in reti logiche capaci di svolgere tutte le operazioni logico-
matematiche (anche complesse) di cui abbia bisogno un calcolatore universale. Una rete logica complessa può costituire, in
particolare, il microprocessore di un calcolatore (un microprocessore contiene milioni di porte logiche, cioè di transistor,
tra loro collegate): milioni di porte logiche vengono combinate su una piastrina di silicio.
Reti logiche specifiche possono rappresentare un’alternativa rispetto allo sviluppo di programmi software: una medesima
elaborazione (i medesimi output ottenuti dai medesimi input) si può ottenere sia attraverso l’esecuzione di un programma da
parte di un calcolatore universale, quindi attraverso un software, sia attraverso una rete logica, quindi attraverso una compo-
nente hardware. L’elaborazione effettuata mediante una rete logica sarà più veloce di quella effettuata mediante un calcola-
tore universale guidato da un software, ma lo sviluppo della rete logica comporterà costi maggiori rispetto allo sviluppo del
software e la rete non sarà modificabile.
Da ultimo, ricordiamo che l’unità centrale di elaborazione (il processore) del calcolatore può essere utilmente utilizzata solo
se è integrata da numerosi dispositivi ausiliari:
- dispositivi di input e output: consentono al calcolatore di interagire con l’utente, ricevendo informazioni o comu-
nicandole all’esterno (schermo, tastiera, mouse, stampante, scanner, microfono, altoparlanti, scheda video o audio,
videocamera, ecc).
- dispositivi di memorizzazione: sono le memorie di massa che consentono di registrare e conservare permanente-
mente dati e programmi.
- dispositivi di connessione: consentono al calcolatore di interagire con altri sistemi informatici (modem, scheda di
rete, ecc).
2) Programmi e algoritmi
L’hardware del calcolatore è un esecutore generale di algoritmi: esso è in grado di compiere qualsiasi operazione che
conduca da certi input a certi output, una volta fornito di un algoritmo che specifichi come compiere tale trasformazione.
Un algoritmo è una sequenza finita di istruzioni ripetibili non ambigue, una sequenza che, se eseguita con determinati dati
di ingresso (input) produce in uscita dei risultati (output), risolvendo una classe di problemi in un tempo finito (l’algoritmo
è una procedura chiara ed univoca, tanto precisa da poter essere attuata da un esecutore automatico senza che ad es-
so debbano essere fornite ulteriori indicazioni). Gli algoritmi per computer non riguardano attività materiali ma servono
per l’elaborazione dell’informazione, ed essi indicano come ottenere certi output da certi input. L’algoritmo è dotato delle
seguenti proprietà:
- finitezza: l’algoritmo deve portare alla soluzione in un numero finito di passi.
- generalità: l’algoritmo non risolve un solo problema, ma una classe di problemi.
- non ambiguità: le istruzioni indicate sono specificate univocamente, cosicché la loro esecuzione avviene sempre
nello stesso modo indipendentemente dall’esecutore.
- ripetibilità: dagli stessi dadi di input l’algoritmo deve fornire gli stessi dati di output.
Gli algoritmi per calcolatore devono essere espressi in linguaggi comprensibili per il calcolatore (linguaggi di programma-
zione), diversi da quelli usati nella comunicazione tra persone. Il programmatore, tuttavia, può trovare conveniente esprime-
re un algoritmo nel linguaggio naturale, prima di tradurlo in un linguaggio di programmazione. La pseudocodifica consiste
nel formulare gli algoritmi usando il linguaggio naturale (la pseudocodifica non è ancora un programma per calcolatore).
Gli algoritmi presuppongono alcune competenze nel calcolatore esecutore:
- le competenze atomiche, sono quelle che il calcolatore è direttamente in grado di svolgere con un unico atto, senza
la necessità di scinderne l’attuazione in atti più semplici.
- le competenze molecolari, sono quelle che il calcolatore può svolgere in seguito all’acquisizione di un nuovo algo-
ritmo, risultando dalla combinazione di più atti secondo le istruzioni contenute in un determinato algoritmo
(l’acquisizione di algoritmi comporta quindi un aumento delle competenze dell’esecutore).
È importante distinguere tra:
- l’algoritmo, cioè la specificazione delle elaborazioni da compiere.
- il processo di esecuzione dell’algoritmo, cioè l’attività mediante la quale l’esecutore svolge l’algoritmo.
In generale non c’è rapporto tra la lunghezza dell’algoritmo e la lunghezza del processo della sua esecuzione, nel senso che
anche un algoritmo molto corto può dare luogo ad elaborazioni molto lunghe.
Bisogna inoltre distinguere tra:
- l’algoritmo.
- l’idea o invenzione algoritmica.
La medesima idea o invenzione algoritmica può trovare applicazione in algoritmi significativamente diversi e per risolvere
un medesimo problema possiamo usare diversi algoritmi, ispirati a diverse idee o invenzioni algoritmiche.
Gli algoritmi non sono tutti uguali:
- alcuni conducono a soluzioni corrette, altri invece producono risultati errati (per alcuni dei loro possibili input).
Quello della correttezza è un requisito preliminare ed inderogabile degli algoritmi.
- non esiste, né è possibile realizzare, un algoritmo di validità universale (applicabili ad ogni possibile algoritmo)
capace di dirci se l’algoritmo si arresterà, applicato a un qualsiasi input. Inoltre non esiste alcun algoritmo di validità
universale capace di dirci se un altro algoritmo contenga errori.
- non è possibile verificare la correttezza di un algoritmo applicandolo preventivamente ad ogni input possibile, per-
ché questi potrebbero essere infiniti o comunque troppo numerosi.
- un algoritmo può operare correttamente nella maggior parte dei casi, ma cadere in errore rispetto ad input partico-
lari.
Non mancano gli esempi di errori algoritmici con conseguenze molto gravi. In ambito sanitario errori negli algorit-
mi destinati a guidare il funzionamento di apparecchiature delicate possono causare (ed hanno causato in qualche
caso) la morte del paziente. Per non parlare dei possibili effetti di un errore negli algoritmi secondo i quali operano i
sistemi informatici di un aeroplano, di una nave o di una centrale nucleare. L’errore algoritmico pone difficili pro-
blemi al giurista che debba affrontare gli aspetti inerenti alla conseguente responsabilità penale, civile o contrattuale:
l’errore non è del tutto evitabile ed i suoi effetti sono difficilmente prevedibili e quantificabili, bisogna bilanciare
l’esigenza di tutelare l’utente e quella di non onerare eccessivamente lo sviluppatore del software.
- alcuni algoritmi sono più efficaci di altri, nel senso che producono il proprio risultato con uno sforzo minore e quin-
di in un tempo minore. Anche l’efficienza è un aspetto molto importante degli algoritmi. Per misurare l’efficienza di
un algoritmo non basta considerare il suo comportamento in relazione a un input particolare; di regola, tutti gli algo-
ritmi corretti danno risposte sufficientemente rapide se applicati ad input di piccola dimensione, e quindi il problema
nasce quando l’input diventi di dimensioni notevoli. Per questa ragione, nel valutare l’efficienza degli algoritmi se
ne considera la complessità computazionale, che consiste nel rapporto tra due elementi:
- l’aumento dell’ampiezza dell’input di un algoritmo.
- l’aumento della lunghezza del processo di esecuzione dell’algoritmo stesso.
Negli algoritmi con bassa complessità computazionale, l’aumento dell’ampiezza dell’input determina un piccolo
aumento della lunghezza del processo di esecuzione. Negli algoritmi con media complessità computazionale, la
lunghezza del processo di esecuzione cresce in modo proporzionale all’ampiezza dell’input. Negli algoritmi con al-
ta complessità computazionale, l’aumento dell’ampiezza dell’input determina un aumento più che proporzionale
(accelerato) della lunghezza del processo di esecuzione, tanto che ad un certo punto diventa impossibile eseguire
l’algoritmo in un tempo ragionevole. In questi ultimi casi si dice che l’algoritmo ha una complessità esponenziale,
perché al crescere della dimensione dell’input non solo il processo di esecuzione si allunga, ma lo fa con
un’accelerazione sempre maggiore. Pertanto, al crescere dell’input gli algoritmi con complessità esponenziale danno
luogo a processi di esecuzione talmente lunghi da diventare intrattabili, nel senso che nemmeno gli esecutori più ve-
loci (cioè i più potenti calcolatori oggi disponibili) riescono ad eseguirli in tempi ragionevoli.
3) Dagli algoritmi ai programmi per calcolatore
In campo informatico gli algoritmi non vanno trattati isolatamente, ma dobbiamo sempre tener presente che essi hanno un
rapporto con l’esecutore automatico destinato ad eseguirli: gli esecutori automatici elaborano e trattano informazioni guidati
dagli algoritmi.
Nel considerare il rapporto tra il calcolatore e gli algoritmi è necessario porsi due quesiti:
- quali algoritmi possono essere eseguiti da un calcolatore?
- in che modo ed in quale linguaggio bisogna esprimere gli algoritmi affinché essi siano comprensibili ed eseguibili
da parte di un calcolatore?
Per dare una risposta alla prima domanda è necessario presentare due tesi:
- secondo la prima tesi, ogni algoritmo riguarda un particolare tipo di calcolatore.
- secondo la seconda tesi, ogni calcolatore è una macchina algoritmica universale ed è in grado di eseguire qualsiasi
algoritmo, espresso in un programma da esso leggibile, gli venga sottoposto.
La conciliazione delle due tesi deriva dalla seguente considerazione. Un’azione complessa può essere vista come un’azione
molecolare, ch risulta dalla combinazione appropriata di azioni atomiche più semplici, combinazione specificata mediante
un algoritmo. Di conseguenza, se il calcolatore è capace di eseguire le azioni atomiche ed apprende l’algoritmo per combi-
nare queste nell’azione molecolare, esso sarà in grado di eseguire anche l’azione molecolare. Apprendendo un algoritmo il
calcolatore amplia la propria competenza, ed acquisendo l’algoritmo in modo permanente (cioè registrandolo nella propria
memoria) esso acquista la capacità di eseguire da solo, senza l’intervento di terzi, l’azione molecolare. Un calcolatore può
acquistare la capacità di eseguire nuove azioni, che non rientrano nella lista delle azioni (atomiche) ad esso innate, qualora
gli si forniscano algoritmi opportuni, che realizzano le nuove azioni mediante la combinazione delle azioni atomiche del cal-
colatore. L’hardware di un calcolatore è in grado di compiere poche operazioni atomiche con numeri binari. Dato che i cal-
colatori non sono tutti uguali, l’insieme delle operazioni atomiche che il calcolatore è in grado di svolgere varia a seconda
del modello (i calcolatori sono dotati di diverse unità centrali di elaborazione). In base a questa considerazione possiamo ve-
dere come i calcolatori moderni siano macchine universali, cioè essi sono in grado di eseguire qualsiasi algoritmo, purché
esso sia espresso in un linguaggio a loro comprensibile
La risposta alla seconda domanda è data dalla programmazione.
Un programma informatico (o software) consiste in un testo eseguibile da parte di un calcolatore, cioè nell’insieme di
formulazioni algoritmiche espresse in un linguaggio comprensibile e eseguibile dal calcolatore.
Il testo del programma consiste in una sequenza di caratteri alfabetici e numerici (sotto questo aspetto un programma non è
diverso dai testi comunemente usati dagli esseri umani per registrare i propri pensieri e comunicarli ad altri). La specificità
dei programmi sta nel fatto che essi sono suscettibili di essere eseguiti automaticamente da parte di un calcolatore; a questo
proposito non tutti i testi rappresentano dei programmi: non sono programmi i testi formulati nel linguaggio naturale che u-
siamo comunemente per comunicare con altri, bensì i programmi sono solo quei testi espressi in linguaggi comprensibili da
parte del calcolatore. Il fatto che i programmi per calcolatore siano destinati all’esecuzione automatica non deve farci dimen-
ticare che essi sono destinati anche alla comunicazione umana. Le due facce del programma per calcolatore (verso l’uomo e
verso la macchina) sono necessariamente connesse: quale intermediario tra uomo e macchina, il software non può essere ri-
dotto ad una sola dimensione. Esso non opera solo nella comunicazione tra persone e macchine, ma anche nella comunica-
zione tra le persone che si occupano del medesimo problema informatico: il software è governato dalla macchina, ma è an-
che una forma di manifestazione del pensiero dell’esperto di informatica, è espressione del mondo della scienza e della cul-
tura.
La funzione comunicativa del software non è priva di profili giuridici. Al software appartengono:
- il codice sorgente, cioè il testo redatto dal programmatore e leggibile da parte dello stesso.
- il codice oggetto o eseguibile, cioè il risultato dalla traduzione automatica del codice sorgente in un testo eseguibile
da parte della macchina, ma non più, o molto più difficilmente, comprensibile all’uomo.
- la documentazione, cioè l’insieme delle indicazioni accessorie intese ad agevolare la comprensione e valutazione
del software da parte dell’uomo (esse illustrano l’architettura complessiva del software, la funzione svolta da ogni
componente, ecc).
Detto questo, si capisce come il contratto per lo sviluppo di un software non potrà considerarsi esattamente e completamente
adempiuto fino a quando non siano state sviluppate tutte queste componenti.
La dimensione rappresentativa e comunicativa del software è alla base dello sviluppo dei linguaggi e delle metodologie della
programmazione, la cui evoluzione risponde soprattutto all’esigenza di facilitare la comprensione dei programmi informati-
ci. A questo fine i linguaggi di programmazione si sono progressivamente avvicinati al linguaggio proprio dell’uomo, pur
garantendo al tempo stesso un’efficiente esecuzione automatica.
Esistono oggi numerosi linguaggi di programmazione. Agli albori dell’informatica, però, la scelta dei programmi era limita-
ta se non addirittura esclusa: chi voleva governare un calcolatore doveva utilizzare direttamente il linguaggio macchina, di
conseguenza, i programmi dovevano consistere nelle sole istruzioni atomiche proprie al calcolatore impiegato (quelli a di-
sposizione dell’hardware di quel calcolatore), istruzioni che prescrivono semplici operazioni riguardanti i numeri binari.
Ovviamente scrivere algoritmi in questa forma è molto difficile e richiede molto tempo. Non solo la redazione, ma anche la
comprensione successiva di un programma scritto in linguaggio macchina richiede un notevole sforzo. Di conseguenza, il
livello di complessità affrontabile mediante il linguaggio macchina è molto basso, solo algoritmi semplici e brevi si possono
esprimere in questa forma. A ciò si aggiunge la dipendenza dalla macchina: diversi calcolatori sono in grado di eseguire di-
verse istruzioni atomiche, specificate usando diversi codici binari. Un programma scritto nel linguaggio macchina di un cal-
colatore deve infatti indicare solamente azioni atomiche di quel calcolatore, usando la corrispondente codifica; pertanto un
programma in linguaggio macchina può funzionare solamente su un particolare tipo di calcolatore. Per eseguire la medesima
elaborazione su un diverso calcolatore sarebbe necessario riformulare il programma, trasformandolo in una combinazione di
azioni atomiche di tale diverso calcolatore, espresse con i relativi codici binari.
Il superamento dei limiti del linguaggio macchina si ottiene formulando le istruzioni destinate al calcolatore in un linguaggio
più facilmente comprensibile all’uomo, ed affidando al calcolatore stesso il compito di tradurre tale formulazione nel pro-
prio linguaggio macchina. Ovviamente il calcolatore può essere capace di compiere tale traduzione solo se è governato da
un apposito programma traduttore (scritto nel linguaggio macchina). Così il programmatore predispone una formulazione
algoritmica usando un linguaggio a sé comprensibile, poi tale elaborato diventa l’input di un processo computazionale ese-
guito dal calcolatore seguendo le istruzioni di un programma traduttore, infine la traduzione ottenuta è direttamente eseguita
dal calcolatore (si tratta infatti di una formulazione algoritmica nel proprio linguaggio macchina). All’inizio la differenza tra
il programma in linguaggio macchina e la sua riformulazione in un testo più comprensibile all’uomo era minima: i numeri
che indicavano un’operazione erano sostituiti da parole che evocano l’operazione corrispondente, ed i numeri binari erano
sostituiti da numeri decimali. Il linguaggio ottenuto in questo modo è chiamato assembler o assemblatore. Il passo succes-
sivo consistette nella creazione dei linguaggi di alto livello, i quali si pongono in una posizione intermedia tra il linguaggio
umano ed il linguaggio macchina. I linguaggi di alto livello sono indipendenti da particolari calcolatori: il medesimo pro-
gramma informatico espresso in un linguaggio di alto livello può essere tradotto nei diversi linguaggi macchina di diversi
calcolatori, e quindi può essere eseguito da ciascuno di quei calcolatori (dopo un’opportuna traduzione). Un programma
scritto in un linguaggio di alto livello non può essere eseguito direttamente dall’hardware, poiché non indica azioni atomiche
dell’hardware stesso, cioè non consiste di istruzioni nel linguaggio macchina; è possibile però tradurlo in istruzioni del lin-
guaggio macchina, che possono essere eseguite direttamente dall’hardware. Esistono due tecniche per effettuare tale tradu-
zione:
- la compilazione. Con questa tecnica, l’intero programma formulato in un linguaggio di alto livello, il codice sorgen-
te, è trasformato in un programma equivalente in linguaggio macchina, il codice oggetto. Il risultato della compila-
zione, cioè il codice oggetto, può essere registrato sul disco del calcolatore e può essere utilizzato successivamente
senza la necessità di risalire al sorgente. Il procedimento di creazione del software segue queste fasi: sviluppo del
sorgente, compilazione di quest’ultimo, vendita del codice oggetto, esecuzione di quest’ultimo da parte
dell’acquirente.
Con questo metodo è necessario risalire al sorgente ogni volta che si debba intervenire sul software dopo la sua
compilazione per modificarlo. In questo caso, una volta modificato il sorgente, lo si ricompilerà, producendo una
corrispondente modifica del codice oggetto. È necessario inoltre accedere al sorgente quando si voglia comprendere
in modo approfondito il funzionamento del software, senza limitarsi ad osservarne il comportamento osservabile;
chi ha accesso al solo codice oggetto non è in grado di esaminare il contenuto logico del programma e quindi è in-
capace di conoscerne con precisione il funzionamento interno.
- l’interpretazione. Con questa tecnica, il programma sorgente è tradotto in linguaggio macchina istruzione per istru-
zione, con l’immediata e contemporanea esecuzione di ogni istruzione. A differenza della compilazione,
l’interpretazione non da luogo ad una versione permanente del software in linguaggio macchina, sicché per eseguire
nuovamente il software bisogna interpretarlo un’altra volta.
In linea di massima, qualunque linguaggio di programmazione potrebbe essere tanto compilato quanto interpretato, ma le
due tecnica di traduzione comportano diversi vantaggi e svantaggi. Il principale vantaggio della compilazione è la maggiore
velocità d’esecuzione del programma compilato rispetto a quello interpretato. Il principale vantaggio dell’interpretazione è
la maggiore agilità con cui si può provvedere alla correzione ed alla modifica del programma; è possibile modificare il pro-
gramma interpretato ed eseguirlo immediatamente, così da verificare l’effetto delle modifiche apportate, mentre la modifica
del programma compilato richiede la correzione del programma sorgente ed una nuova compilazione. Inoltre, i programmi
interpretabili hanno il vantaggio di poter essere eseguiti su diversi tipi di calcolatore, grazie all’indipendenza dei linguaggi di
alto livello rispetto alla macchina; ciascuno di quei calcolatori avrà a disposizione il proprio interprete, che tradurrà il pro-
gramma nel linguaggio macchina di quel calcolatore. Un programma compilato (codice oggetto), invece, essendo espresso
nel linguaggio macchina di un particolare tipo di calcolatore, potrà funzionare solo su quel tipo di calcolatore. La compila-
zione offre invece un importante vantaggio nella distribuzione commerciale, consentendo di separare il codice oggetto dal
codice sorgente. Il produttore può scegliere di distribuire solo il codice oggetto (il compilato) mantenendo segreto il codice
sorgente, o di distribuire entrambi i codici a condizioni diverse. Mantenendo segreto il codice sorgente il produttore impedi-
sce a concorrenti ed utenti di riutilizzarlo, in tutto o in parte, in nuovi software. Inoltre egli mantiene l’esclusiva di fatto sulla
modifica del codice oggetto (che richiede modifica del sorgente e nuova compilazione), la quale si aggiunge all’esclusiva
giuridica garantita dal diritto d’autore. La distribuzione del solo codice oggetto consente inoltre di circondare di maggiore
sicurezza il software. Per conciliare i vantaggi commerciali della compilazione con l’esigenza di distribuire un’unica versio-
ne del software funzionante su ogni tipo di macchina, si è recentemente resa disponibile la possibilità di realizzare una pre-
compilazione indipendente dalla macchina: viene creata una versione intermedia tra codice sorgente e codice oggetto, che
come l’oggetto non è comprensibile e modificabile da parte dell’uomo, e come il sorgente può essere utilizzata su ogni tipo
di macchina (dovendosi ulteriormente compilare nel linguaggio macchina dello specifico calcolatore, prima di essere esegui-
ta).
Il principale modello giuridico per la protezione del software è quello del diritto d’autore, impostatosi su scala mondiale a
partire dagli anni ’60. Il diritto d’autore rende il software un bene escludibile, conferendo a titolo originario all’autore del
software una posizione giuridica che include due gruppi di diritti, i diritti morali ed i diritti patrimoniali. I diritti morali
(che spettano sempre all’autore e sono inalienabili ed irrinunciabili) non determinano l’escludibilità, infatti l’opera può esse-
re tranquillamente usata pur riconoscendo la paternità altrui. Il diritto morale più importante è il diritto alla paternità
dell’opera, cioè il diritto ad esserne riconosciuto l’autore. L’escludibilità deriva invece dalla componente economica del di-
ritto d’autore, che è costituita da un’insieme di diritti esclusivi:
- il titolare dei diritti economici ha il permesso di effettuare le utilizzazioni rientranti nei diritti esclusivi.
- le utilizzazioni dell’opera sono precluse ad ogni altro soggetto, se non autorizzato dal titolare dei diritti.
- il titolare dei diritti economici ha il potere di autorizzare altri ad effettuare le utilizzazioni rientranti nei propri diritti
esclusivi, nei limiti e nei modi da egli stabiliti.
Nel caso del software i diritti esclusivi attengono alla duplicazione ed alla esecuzione del programma (che presuppone la
duplicazione del software nella memoria centrale del computer), nonché la sua modifica e distribuzione al pubblico: tali
attività possono essere compiute lecitamente solo dal titolare del diritto o da chi sia stato autorizzato dallo stesso.
L’autorizzazione all’uso del software viene solitamente conferita ai consumatori mediante un contratto chiamato licenza
d’uso: il titolare dei diritti di sfruttamento economico (il licenziante) conferisce all’altra parte l’autorizzazione ad usare il
software entro certi limiti ed in certe forme, mentre l’utente (il licenziatario) si impegna a pagare un corrispettivo ed a rispet-
tare i limiti stabiliti nella licenza. Il titolare dei diritti può fornire egli stesso una copia del software, in particolare nel caso in
cui questo venga scaricato dal sito del produttore, ed in questo caso egli riceverà il corrispettivo direttamente
dall’acquirente-licenziatario; in altri casi, il titolare dei diritti sarà compensato dal venditore del software, il quale cede copie
del software agli acquirenti, per esempio un CD o un DVD nel quel il programma è registrato, verso un corrispettivo.
Normalmente al licenziatario è trasferita una copia del solo software compilato, cioè del codice oggetto (il sorgente rimane
presso il titolare dei diritti), e l’autorizzazione comprende solo la facoltà di installare tale codice oggetto sul proprio calco-
latore e di eseguirlo. Il codice compilato è chiuso, nel senso che all’utente è preclusa la possibilità di accedere al codice sor-
gente: di conseguenza egli non è in grado di capire il funzionamento del software dall’interno, né di modificarlo per adattar-
lo alle proprie esigenze o perfezionarlo in vista di altre utilizzazioni. Tali attività sono duplicemente impedite: sono impedite
giuridicamente (sono vietate dalla legge perché rientrano nei diritti esclusivi del licenziante, il quale non ha prestato la sua
autorizzazione a tali attività) e sono impedite di fatto (l’utente ha a disposizione il solo programma compilato). Oltre alla
compilazione, il titolare dei diritti può adottare ulteriori misure tecnologiche volte ad impedire che i possessori di copie del
software ne facciano uso in modi non autorizzati, ed in particolare per impedire che il software venga illecitamente duplicato
(per esempio, oggi si usa frequentemente la tecnologia consistente nel richiedere che il software si colleghi ad Internet per
poter funzionare, il che attiva un controllo volto a verificare se il software sia dotato di valida licenza). Le misure tecnologi-
che godono a loro volta di una tutela giuridica: non solo è vietato compiere attività non autorizzate dopo avere superato tali
misure, ma è anche vietato e sanzionato realizzare o diffondere strumenti idonei a superare tali misure.
Tale disciplina trova alcune deroghe:
- l’utilizzatore ha il diritto di fare una copia di riserva (backup) del software quando necessaria.
- l’utilizzatore può tentare di decompilare il software solamente al fine di realizzare nuovi prodotti con esso interope-
rabili.
- l’utilizzatore ha il diritto di correggere un software malfunzionante, qualora il produttore non risponda alle sollecita-
zioni in tal senso.
Questa disciplina configura il modello del cosiddetto software proprietario: il titolare dei diritti usa una combinazione di
clausole contrattuali e misure tecnologiche per restringere l’uso del software nei limiti dell’autorizzazione conferita
all’utente. Tale autorizzazione di solito non comprende la possibilità di duplicare il software, poiché il titolare intende con-
servare a sé il monopolio sulla creazione e distribuzione di nuove copie, un’attività che gli consente di continuare a ricevere
un compenso a fronte della concessione di ulteriori licenze per l’uso del proprio software. Inoltre il titolare conserva il mo-
nopolio sulla modifica e sullo sviluppo del proprio software, il quale gli consente di poter trarre ulteriori guadagni dalla ven-
dita delle versioni successive (il monopolio sulle modifiche ed i miglioramenti è protetto, più che dal diritto d’autore che pu-
re vieta ai terzi tali attività, dal fatto che il titolare distribuisce il solo codice oggetto, che non può essere modificato nemme-
no da esperti programmatori).
Tale modello presenta alcuni aspetti problematici:
- limita l’uso del software a coloro che abbiano potuto pagare il prezzo richiesto dal titolare dei diritti.
- la diffusione del software nella sola versione compilata (solo il codice oggetto) comporta una perdita nella diffusio-
ne della conoscenza. Questa situazione comporta l’impossibilità di sviluppare il software, di perfezionarlo o di usar-
ne le componenti nello sviluppo di altri software. Chi fosse interessato a questi usi di un software altrui potrebbe
contattare il titolare dei diritti e chiedergli l’autorizzazione a creare software derivati a fronte di un corrispettivo o di
una compartecipazione agli eventuali guadagni futuri. Tuttavia, a tal fine l’interessato dovrebbe essere certo che il
software può essere sviluppato adeguatamente, pur non potendo conoscerne in anticipo il contenuto, e che il mercato
darebbe il risultato atteso, mentre il titolare dei diritti dovrebbe essere certo che l’interessato ha le capacità e
l’affidabilità necessaria, dal momento che l’attuazione del contratto richiede la consegna del codice sorgente. In
mancanza di tali certezze, l’affare non si concluderà e le opportunità di sviluppo andranno perdute.
- può comportare una perdita di libertà e democraticità. Si tratta anzitutto della libertà dello sviluppatore e dello stu-
dioso: lo specialista di informatica cui sia precluso l’accesso a questi software viene privato della libertà di conosce-
re l’aspetto della realtà sociale cui è interessato (libertà di informazione), ed inoltre della libertà di dare il proprio
specifico contributo allo sviluppo culturale (libertà di partecipare alla cultura) ed alle discussione delle strutture so-
ciali e politiche (libertà politica). Queste perdite di libertà non riguardano solo gli informatici: anche chi non abbia
le competenze per studiare il software, o non sia interessato a farlo, potrebbe individuare difetti e prospettive di svi-
luppo, avanzare critiche e proporre soluzioni.
I problemi inerenti al software proprietario, pur nell’apparente invincibilità dell’argomento economico a suo favore (quello
della mancanza di un incentivo a sviluppare software in assenza di una tutela proprietaria), hanno determinato la nascita di
un modello alternativo, basato su una diversa impostazione giuridica ed economica, il software open source. Alle origini
del movimento open source vi è l’attività di Richard M. Stallman. Egli era uno sviluppatore di software degli anni ’70, pe-
riodo in cui si diffuse il modello proprietario: i software, che prima erano forniti dai produttori dell’hardware in versione
sorgente ed erano liberamente modificabili, divennero chiusi (forniti solo nel codice oggetto) e protetti dalle esclusive del
diritto d’autore. Stallman decise di ribellarsi a tale assetto economico-giuridico, che lo privava della libertà di conoscere e
modificare i programmi informatici, e di condividere le proprie conoscenze, scoperte ed innovazioni; egli divenne promoto-
re di un diverso modello, che garantisse all’utente le quattro libertà (negate dal modello proprietario):
- libertà 0: libertà di eseguire il programma per qualsiasi scopo.
- libertà 1: libertà di studiare come funziona il programma per adattarlo alle proprie necessità (per questo l’accesso
al codice sorgente è necessario).
- libertà 2: libertà di distribuire copie del software in modo da aiutare il prossimo.
- libertà 3: libertà di modificare il programma, per migliorarlo e diffondere tali miglioramenti, arrecando un benefi-
cio a tutto la comunità (per questo l’accesso al codice sorgente è necessario).
Stallman coniò il termine di software libero per indicare i programmi informatici in cui fossero garantite queste quattro li-
bertà, ed elaborò un meccanismo giuridico volto a garantirle, la licenza GPL (General Public Licence). Anche la disciplina
del software libero trae origine dal diritto d’autore, ed in particolare dal potere del titolare di autorizzare altri all’esercizio
delle facoltà inerenti ai propri diritti esclusivi e di regolare i modi di tale esercizio; la licenza GPL, però, prevede
un’autorizzazione tanto ampia da fare venire meno l’esclusività di quei diritti, conferendo irrevocabilmente la pienezza delle
quattro libertà al licenziatario del software ed ai successivi soggetti a cui sia trasferita una copia dello stesso.
È importante precisare che software “libero” non vuol dire “non-commerciale” o “gratuito”. Benché molti software liberi
siano gratuitamente accessibili (è possibile a chiunque scaricarne una copia attraverso Internet), la copia di un software libe-
ro può essere fornita dall’autore o da altri a fronte di un pagamento, sempre che chi riceve la copia conservi le quattro liber-
tà. Tuttavia, è sicuramente vero che il modello del software libero limita le possibilità di guadagno dell’autore (del titolare
dei diritti patrimoniali): per la prima copia l’autore può chiedere un prezzo elevato, ma per le copie successive egli non è più
in grado di farlo, perché i potenziali acquirenti potranno rivolgersi ai successivi cessionari, i quali possono fornire copie del-
lo stesso software ad un prezzo inferiore a quello proposto dall’autore od anche gratuitamente. Di conseguenza, o l’autore
riesce a recuperare tutti i propri costi ed il profitto con la prima cessione o rischia di lavorare in perdita. Questo rischio, tut-
tavia, può essere superato in due modi: o l’autore è mosso da motivazioni diverse dal vantaggi economico (desiderio di par-
tecipare ad un certo progetto, di inserirsi nella comunità degli sviluppatori, ecc) o l’autore si aspetta un’appropriazione indi-
retta (vantaggi economici derivanti da attività successive, come contratti retribuiti per consulenze sull’uso del software libe-
ro sviluppato o per adattamenti allo stesso, futuri impieghi grazie alla reputazione conseguita, ecc).
Alle clausole che garantiscono le libertà degli utenti si unisce, nella disciplina della GPL, la clausola del copyleft (permesso
d’autore): i programmi che risultano dalla modifica di un software soggetto a GPL possono essere trasferiti ad altri sola-
mente se assoggettati anch’essi alla disciplina del GPL (che garantisce le quattro libertà). Chi ha operato delle modifiche su
un software soggetto a GPL non potrà quindi fare valere il proprio diritto d’autore sulle modifiche per impedire l’esercizio
delle quattro libertà a chi riceva una copia della versione modificata, né potrà distribuire il software solo in versione compi-
lata. Lo scopo della clausola copyleft è fare si che il patrimonio del software libero si espanda progressivamente.
I software disciplinati dalla GPL non sono completamente sottratti al diritto d’autore: essi sono soggetti alla componente
morale del diritto d’autore (il riconoscimento della paternità dei suoi autori, che deve essere obbligatoriamente indicata an-
che quando si distribuiscono versioni modificate) ed al vincolo del copyleft.
La possibilità di modificare liberamente il software (anche se soggetta alla disciplina del copyleft) è una garanzia antimono-
polistica della libertà d’impresa: se i partecipanti di un progetto di software libero sono insoddisfatti della direzione presa dal
progetto, possono dotarsi di una copia del software e sviluppare un nuovo progetto, anche in concorrenza con quello da cui
ci sono distaccati.
Nel 1.984, Stallman fondò la Free Software Foundation, allo scopo di promuovere la crescita del software libero ed iniziò
a sviluppare il progetto di un sistema operative non-proprietario che chiamò GNU. Nel 1.991 il progetto aveva fatto molti
passi avanti, ma mancava ancora il nucleo del sistema operativo, indispensabile per il suo funzionamento. In quell’anno Li-
nus Torvald, un giovane informatico finlandese, pubblicò su Internet il nucleo di un sistema operativo, assoggettando il re-
lativo software alla licenza GPL, ed invitando tutti gli interessati a sperimentarlo ed a contribuire al suo sviluppo. Al nucleo
fornito da Torvald furono unite alcune componenti di GNU e, grazie alla collaborazione di un crescente numero di sviluppa-
tori, il sistema operativo GNU/Linux fu completato. Fin dalla seconda metà degli anni ’90, Linux divenne un concorrente
dei sistemi operativi proprietari più diffusi, diffondendosi presso una cerchia sempre più ampia di utenti sulle diverse piatta-
forme hardware.
Nello sviluppo tradizionale (quello a cascata) del software proprietario si adotta il metodo della cattedrale, basato sulla ge-
rarchia, la centralizzazione e la distinzione dei ruoli; nello sviluppo del software libero si adotta invece il metodo del bazar,
nel quale coesistono diverse aspettative ed iniziative, manca una netta distinzione dei ruoli, il progetto è suddiviso in moduli
distinti e sviluppati in relativa indipendenza e diverse versioni parallele, le decisioni sono decentrare e dinamiche, il coordi-
namento è fornito dal fatto che tutti rendono disponibili su Internet i risultati del loro lavoro ed i commenti sui lavori altrui.
Nello sviluppo del software open source, quindi, si procede prevalentemente dal basso verso l’alto, anziché dall’alto verso il
basso: ne risulta uno sviluppo incerementale-evolutivo, anziché pianificato, dove la comunità degli sviluppatori e degli uten-
ti stabilisce, con le proprie autonome scelte, quali proposte avranno successo e quali incideranno sullo sviluppo e
sull’articolazione del progetto complessivo. Si tratta di una funzione di guida e controllo che non si basa su gerarchie giuri-
dicamente definite, ma piuttosto sul prestigio dei coordinatori del progetto.
L’idea che il software debba essere distribuito anche in forma sorgente e che maggiori diritti debbano essere consentiti agli
utenti ha trovato un’accettazione ampia, che va al di là di quanti si identificano con le tesi rigorose e l’intransigente imposta-
zione politico-ideologica di Stallman (tesi che corrispondono al modello del software libero). Pertanto, alcuni progetti di svi-
luppo di software, che pure tendono a realizzare software distribuiti in codice sorgente che garantiscano agli gli utenti le
quattro libertà, preferiscono autoqualificarsi usando l’espressione software open source (a sorgente aperta), anziché software
libero. Si suole affermare che per il movimento del software libero la garanzia delle libertà degli utenti è una scelta etica e
determinata anche da motivazioni politico-ideologiche, mentre per il movimento del software open source, cui partecipa-
no anche grandi imprese, la garanzia di tali libertà è prevalentemente motivata da ragioni tecniche, economiche o com-
merciali.
Il software open source ha conosciuto un grandissimo sviluppo nel corso degli ultimi anni. Tra gli esempi più significativi
possiamo ricordare: il sistema operativo Linux, il browser Firefox, il software per l’ufficio e la redazione di testi Ope-
nOffice. Anche imprese di grandi dimensioni, che operano a fini di profitto, partecipano a progetti di software open source,
ma per quale motivo un’azienda che opera a fini di profitto dovrebbe investire per realizzare dei prodotti sui quali non può
vantare diritti di sfruttamento economico, prodotti anzi a tutti accessibili e spesso distribuiti gratuitamente? Perché anche le
imprese (e non solo i singoli) possono trarre vantaggi dalla partecipazione a progetti di software open source: mantenere il
contatto con gli utenti e gli sviluppatori, stimolare la domanda di offerte complementari, facilitare la collaborazione con altre
imprese, ridurre i costi di sviluppo, ecc. Infine, c’è da dire che i modelli del software proprietario e del software open source
non sono necessariamente in conflitto, ma possono svolgere ruoli complementari: per esempio, numerose imprese sviluppa-
no software con doppia licenza, una versione libera e limitata alle funzioni di base, ed una versione proprietaria ed arricchita
di funzionalità ulteriori, disponibile a pagamento.
Dal punto di vista della loro disciplina giuridica, i software si distinguono in:
- software proprietario. L’uso di questi software è ristretto dalle esclusive del diritto d’autore, e viene conferito se-
condo una licenza che limita le libertà dell’utente. Tale licenza conferisce al licenziatario, di regola, la sola facoltà
di usare il software, senza poterlo modificare o distribuire. Di regola il software proprietario è chiuso, cioè di esso
viene fornito solo il codice oggetto (il compilato), mentre il licenziante trattiene presso di sé il sorgente.
- software open source. L’uso di questi software è concesso con una licenza che conferisce al licenziatario la piena
libertà di eseguire, studiare, modificare e distribuire il software stesso. La libertà di distribuire un software open
source può essere soggetta alla sola condizione del copyleft, cioè all’obbligo di assoggettare a licenza open source
anche le modifiche di tale software. La licenza GPL include la clausola copyleft, che invece non è compresa in altre
licenze open source.
Esistono inoltre dei particolari modelli di software:
- software di pubblico-dominio. Si ha quando il titolare dei diritti rinunci irrevocabilmente ai propri diritti economi-
ci, come avviene per il software open source, e non limiti la distribuzione del software con la clausola del copyleft;
in questa situazione chiunque potrà usare, modificare e distribuire il software, e potrà inoltre avanzare il proprio di-
ritto d’autore sulle versioni che includano le proprie modifiche, nonché distribuire tali versioni con licenze proprie-
tarie ed esclusivamente nel codice oggetto. In questo caso possiamo dire che il software è di pubblico-dominio per-
ché è del tutto sottratto alla disciplina del diritto d’autore per quanto riguarda gli aspetti economici (essendo i diritti
morali irrinunciabili nel nostro ordinamento).
- software freeware (software gratuito). Si indicano i programmi ottenibili gratuitamente, che possono essere usati
e distribuiti dagli utenti, ma non possono essere modificati (il loro codice sorgente non è reso accessibile).
- software shareware (software condiviso). Si indicano i programmi distribuiti gratuitamente, ma solo per un tempo
determinate o con funzioni limitate, al fine di indurre l’utente ad acquistare la versione definitiva o completa.
- sofware-come-servizio (software-as-a-service). Si ha quando il software viene usato dall’utente senza che questi
ne abbia ottenuto una copia, per questo il software non è installato nel computer dell’utente ma su in server remoto a
cui l’utente può accedere attraverso Internet.
Il file è il livello più basso dell’organizzazione logica dei dati, è una raccolta di dati identificata da un unico nome (il
nome del file). Dal punto di vista materiale, invece, un unico file potrebbe benissimo essere scritto su più zone diverse del
supporto fisico che lo ospita. Si distinguono due principali tipi di file:
- gli archivi (file strutturati: un archivio contiene un’insieme di schede dotate della medesima struttura).
Gli archivi sono file composti da uno o più file insieme a metadati (dati su altri dati, cioè informazioni che descrivono
un insieme di dati per fini diversi).
In un archivio le istanze di una classe sono registrate in modo uniforme, a ciascuna istanza è dedicato un record (scheda).
Ogni record è suddiviso in settori, detti campi, ciascuno dei quali contiene il valore di un particolare attributo della classe (si
parla di formato di record per indicare la suddivisione di un record in determinati campi). La registrazione dei record nei
supporti fisici dipende dal particolare software utilizzato per creare od aggiornare l’archivio, e di regola sfugge al controllo
dell’utilizzatore, il quale accede all’archivio solo utilizzando il relativo software. Si possono adottare diverse tecniche per
esprimere la strutturazione della scheda in modo che essa sia riconoscibile da parte della macchina (tali tecniche normal-
mente sono applicate automaticamente dal software usato per la gestione dell’archivio, senza che l’utente se ne debba occu-
pare).
- i file di testo liberi o testi (file non strutturati: un testo contiene una sequenza non strutturata di caratteri alfabetici e
numerici).
I file di testo consistono in componenti testuali, ossia sequenze di parole, accompagnate da indicazioni sulla loro pre-
sentazione a video o a stampa, cioè da indicazioni per la formattazione, la visualizzazione, la strutturazione delle
componenti testuali (ad esempio l’indicazione che una certa sequenza di parole è in corsivo).
In particolare, appartengono alla categoria dei file di testo libero i documenti che realizziamo utilizzando software per la re-
dazione di testi, i cosiddetti elaboratori di testi. Negli elaboratori di testi oggi maggiormente usati le indicazioni attinenti
alla presentazione dei contenuti testuali non sono espressamente inserite dall’utente, né vengono visualizzate allo stesso: è il
software che si occupa di registrare tali indicazioni quando l’utente fornisce il comando corrispondente (ad esempio, clic-
cando il bottone per il corsivo dopo avere selezionato una parola) e di visualizzare immediatamente sullo schermo il risultato
dell’applicazione delle stesse indicazioni (nell’esempio, la parola in corsivo). La forma nella quale sono registrate le indica-
zioni attinenti alla presentazione non è di regola facilmente leggibile dall’utente, essendo destinata alla elaborazione automa-
tica. In alcuni casi l’illeggibilità è completa, nel senso che il tentativo di leggere il documento registrato nella memoria del
computer (nel disco rigido), cogliendovi le indicazioni per la presentazione, richiederebbe uno sforzo enorme, paragonabile
allo sforzo necessario per comprendere il funzionamento di un programma in linguaggio macchina (ciò si verifica, ad esem-
pio, nel formato DOC di Microsoft Word). Ci sono anche formati in cui si ottiene una migliore leggibilità. Esistono anche
sistemi per la redazione di testi nei quali l’utilizzatore inserisce all’interno del testo le indicazioni per la presentazione, spe-
cificando direttamente le modalità di presentazione delle componenti testuali (in questo caso i comandi per la formattazione
sono più comprensibili). In questo caso per visualizzare il risultato ottenibile a stampa bisognerà procedere ad una sorta di
compilazione, detta composizione: sulla base del file sorgente prodotto dall’autore, comprensivo del testo e delle indicazioni
di formattazione, viene automaticamente prodotto il file visualizzabile e stampabile, nel quale le indicazioni per la presenta-
zione non sono più leggibili da parte dell’uomo ma sono comunque utilizzabili dal computer (le successive revisioni del te-
sto si dovranno compiere sempre sul file sorgente).
La registrazione dei dati informatici avviene in base a cere regole, che definiscono il formato degli stessi. Innanzitutto
bisogna stabilire come passare dal formato binario a quello alfabetico o decimale necessario alla lettura dei dati da parte
dell’uomo. A ciò provvedono particolari tabelle di conversione, che stabiliscono un rapporto biunivoco tra caratteri alfabe-
tici-numerici e certe sequenze di cifre binarie. Occorrono inoltre convenzioni secondo le quali esprimere ulteriori informa-
zioni: rispetto agli archivi bisogna specificare la funzione di ogni dato, rispetto ai file di testo bisogna specificare la forma
tipografica in cui presentare le parole che compongono il testo (grassetto, corsivo, spaziature, ecc).
I dati elaborati in un certo formato possono essere elaborati solo da software specificatamente predisposti in modo da trattare
quel formato. Di conseguenza, chi ha registrato i dati in un certo formato li può condividere con altre persone o altri sistemi
informatici solo se anche queste utilizzano un software adeguato a quel formato. In molti casi vi è un unico software che
corrisponde pienamente ad un certo formato di dati, per cui utilizzare i dati con un altro software richiede una conversione (i
cui risultati raramente sono perfetti). Ciò pone in una posizione di debolezza gli utilizzatori: chi abbia accumulato una note-
vole quantità di dati in un certo formato è vincolato all’utilizzo dell’unico software predisposto per leggere quel formato se
non vuole affrontare i costi ed i disagi relativi alla trasformazione in un altro formato, e chi intenda condividere dati con altri
soggetti è vincolato a predisporre quei dati in un formato accettato dai software impiegati da quei soggetti.
Questi vincoli contribuiscono a determinare l’effetto di rete (network effect) visto precedentemente: la tendenza all’ulteriore
diffusione dei formati maggiormente diffusi e dei software compatibili con tali formati (è così per i file di testo, nei quali
domina il formato DOC di Microsoft Word). Il problema è particolarmente grave quando si tratti di un formato proprietario,
sulla cui evoluzione decide un soggetto privato, cioè il soggetto che detiene il diritto d’autore sui software che producono i
dati in quel formato. Questo soggetto, anche quando non possa vantare diritti di proprietà intellettuale sul formato stesso, ne
controlla l’evoluzione e l’utilizzo: egli, quando possegga una posizione dominante nel mercato dei software che utilizzano
quel formato, può spiazzare eventuali concorrenti che abbiano iniziato ad usare lo stesso formato, semplicemente modifi-
cando il formato prodotto dal proprio software, in modo che i software dei concorrenti non riescano più a trattare la versione
modificata. Per di più, non è sempre disponibile una specifica del formato dei dati, cioè la precisa indicazione di come i dati
debbano essere codificati per essere utilizzabili dai programmi che adottano il formato stesso (lo sviluppatore del program-
ma può mantenere occulta la specifica o può fornirla solo a pagamento o comunque a determinate condizioni). Ricostruire la
specifica di un formato è difficile: dall’esame dei file dotati di quel formato bisogna ricostruire il linguaggio usato per indi-
care le modalità di presentazione e la struttura del file (tale ricostruzione, inoltre, va ripetuta per ogni nuova versione del sof-
tware che produce il formato, il quale di regola è in grado di leggere i file prodotti nei formati precedenti ma produce i nuovi
file in un formato leggermente diverso). Per rimediare ai problemi determinati dall’uso di formati proprietari (chiusi) sono
nati formati aperti, la cui definizione ed evoluzione è affidata ad organismi imparziali e le cui specifiche sono rese pubbli-
camente disponibili, e che possono essere utilizzati da chiunque via abbia interesse.
Nel linguaggio legislativo, il termine banca di dati (sinonimo di base di dati) indica una qualsiasi raccolta di opere, dati
od altri elementi indipendenti sistematicamente o metodicamente disposti ed individualmente accessibili mediante
mezzi elettronici o in altro modo. Il termine base di dati è usato soprattutto per denotare raccolte di dati evolute, costituite
da più archivi tra loro integrati, i cui dati sono elaborabili in modo da offrire ai diversi utenti le informazioni di cui hanno
bisogno; a tal fine occorre uno specifico tipo di sistema informatico, detto sistema per la gestione di basi di dati
(DataBase Management System, DBMS), il quale funge da intermediario tra gli archivi di dati e gli utilizzatori (umani o
automatici). Il DBMS consente di rappresentare i dati in modo indipendente dai programmi destinati ad usare quei dati; a
tale fine esso mantiene dei dizionari di dati, ossia delle raccolte di metadati (dati intesi a descrivere altri dati) che specifi-
cano il significato e la struttura dei diversi tipi di dati registrati nella base di dati, e le convenzioni usate nella loro registra-
zione. Grazie alle indicazioni fornite dai dizionari è possibile realizzare diversi software che usano coerentemente i contenu-
ti della base di dati, richiedendoli al DBMS; vengono così risolti i difficili problemi di coordinamento e compatibilità che
esistevano quando ogni programmatore definiva individualmente gli archivi per i propri programmi, secondo regole che re-
stavano implicite nella struttura di tali archivi. Oltre a facilitare l’accesso ai dati, un DBMS può contribuire ad assicurare la
qualità dei dati stessi, sotto i seguenti profili:
- coerenza dei dati: il DBMS permette a diverse applicazioni di usare gli stessi dati, riducendo le duplicazioni.
- integrità: il DBMS contribuisce a fare sì che la base di dati sia integra, cioè contenga solo dati corretti (il DBMS
non può garantire la corrispondenza dei dati alla realtà rappresentata, ma può imporre il rispetto di certi vincoli).
- ripristino: il DBMS comprende procedure automatiche per il ripristino della base dei dati in caso di errori e mal-
funzionamenti imputabili all’hardware o al software, permette in particolare la ricostruzione di uno stato anteriore
all’evento della base di dati.
- sicurezza: il DBMS controlla l’intera base di dati, per questo può garantire che ad essa si acceda solo secondo certe
modalità e procedure o dopo avere ottenuto idonee autorizzazioni.
- riservatezza: l’uso di un DBMS può facilitare il rispetto della riservatezza dei soggetti a cui i dati si riferiscono (so-
prattutto quando si debbano trattare grandi quantità di dati), infatti il DBMS può limitare l’accesso ai dati, consen-
tendolo solo a chi abbia diritto di accedere ad essi e fornendo ad ogni utente la vista sui dati che corrispondono ai
suoi diritti di accesso.
Vi sono diversi modelli di basi di dati, gestiti da diversi tipi di DBMS, il modello relazionare (visto precedentemente )è
quello più diffuso.
I software per l’information retrieval (recupero di informazioni) servono a recuperare le informazioni testuali estraendole
da grandi masse di documenti. La loro funzione fondamentale consiste nel fornire all’utente tutti i documenti che rientrano
nel suo interesse, cioè tutti i documenti che rispondono alle sue esigenze informative. Normalmente l’utente è interessato a
tutti i documenti che vertono su un certo tema o concetto, egli dovrà pertanto formulare un quesito che specifici il tema di
interesse, ed il sistema risponderà al quesito fornendo i documenti attinenti a quell’argomento. Nella ricerca di informazioni
hanno importanza fondamentale gli aspetti linguistici, ancora oggi nell’ipotesi più diffusa la ricerca avviene in modo sintat-
tico, cioè ricercando tutti i testi che contengano i termini specificati nel quesito; si ha invece una ricerca in modo semantico
quando il sistema non si limita a ricercare i documenti che contengono le parole specificate nel quesito, ma cerca tutti i testi
che esprimono il concetto specificato nel quesito, in qualsiasi forma esso sia espresso (anche con altre parole).
La ricerca automatica di informazioni testuali si avvale solitamente di indici; un sistema per la ricerca mediante indici con-
sta di due componenti fondamentali:
- l’indicizzatore, per la creazione degli indici.
- il motore di ricerca, il quale sulla base degli indici individua ed estrae le informazioni richieste.
Esistono tecniche estremamente raffinate per la creazione e l’utilizzo di indici. Il caso più semplice e più comune è l’indice
detto file invertito: esso elenca tutte le parole contenute nei documenti e riporta per ogni parola la collocazione dei docu-
menti che la contengono (in questo caso l’indicizzatore dovrà estrarre le parole dai testi ed inserirle nell’indice, provvedendo
inoltre ad indicare per ogni parola la collocazione dei testi che la contengono). Se si sono specificati più termini di ricerca, il
sistema combinerà i risultati relativi a ciascuno di essi nel modo opportuno. I sistemi che trattano basi documentarie partico-
larmente ampie provvedono inoltre ad ordinare i risultati ottenuti sulla base della loro rilevanza (misurata da appositi indizi),
così da indirizzare l’utente verso i documenti più promettenti.
Nella valutazione delle prestazioni dei sistemi per l’information retrieval vi sono due parametri fondamentali, dalla cui
combinazione risulta l’accuratezza delle ricerche compiute dal sistema:
- il richiamo, cioè la quantità di documenti pertinenti ritrovati, in rapporto a tutti i documenti pertinenti contenuti nel-
la base documentale.
- la precisione, cioè la quantità di documenti pertinenti ritrovati, in rapporto a tutti i documenti recuperati.
Per valutare le prestazioni di un sistema di information retrieval non si dovrà considerare un singolo quesito, ma si dovrà va-
lutare il comportamento medio in relazione ad un campione di quesiti abbastanza ampio:
- il silenzio è il difetto nel richiamo, e risulta dal rapporto tra i documenti pertinenti non recuperati e tutti i documenti
pertinenti contenuti nel database.
- il rumore è il difetto nella precisione, e risulta dal rapporto tra la quantità di documenti recuperati non pertinenti e
tutti i documenti recuperati.
È possibile utilizzare la logica anche per compiere interrogazioni complesse mediante un motore di ricerca. In questo caso,
al posto di specificare una sola condizione di ricerca, si formulano interrogazioni booleane, consistenti nella combinazione
logica di più condizioni. Gli operatori booleani (“and”, “or”, “not”), tuttavia, non esauriscono quelli comunemente disponi-
bili. Di regola i motori di ricerca offrono anche la possibilità di intervenire su tali connessioni logiche:
- consentono di specificare che i termini compresenti, cioè richiesti in “and”, debbano essere adiacenti.
- consentono di ricercare termini incompleti. A questo proposito si ricordano due tipi di operatori::
- l’operatore di troncamento consente di indicare solo l’inizio dei vocaboli cercati, cioè si richiedono tutti i voca-
boli che iniziano con l’espressione troncata.
- l’operatore di mascheramento consente di sostituire uno o più caratteri della chiave di ricerca con un jolly che
indica un qualsiasi attributo del carattere; così la ricerca verte su tutti i termini che coincidono con la chiave nei re-
stanti caratteri (non ha rilievo il carattere collocato nella posizione jolly) ed ogni documento che contenga uno di
questi termini soddisferà la condizione specificata mediante il carattere jolly.
4) I linguaggi di marcatura
Negli ultimi anni le distinzioni che opponevano gli archivi di file di testo e le basi di dati da un lato, ai sistemi per
l’information retrieval dall’altro hanno perso importanza. Ciò è dovuto al fatto che si sono sviluppate nuove tecniche per la
gestione dei dati, che consentono di organizzare e rendere riconoscibili al computer anche i dati contenuti all’interno di file
di testo. Questo risultato si ottiene mediante l’utilizzazione di linguaggi per la marcatura (markup language), che con-
sentono di individuare le componenti di un documento testuale racchiudendole all’interno di etichette (tag) riconoscibili au-
tomaticamente e di inserire ulteriori informazioni all’interno del documento, distinguendole rispetto al suo contenuto testua-
le (in questo modo i testi possono essere arricchiti con indicazioni per la loro stampa, visualizzazione e per l’estrazione ed
elaborazione delle informazioni in essi contenute). Un linguaggio di markup è un linguaggio che consente di descrivere
dati tramite dei marcatori, i tag.
Possiamo distinguere i linguaggi di marcatura a seconda dei diversi tipi di markup cui danno luogo.
- markup proprietari. Sono definiti e controllati da uno o più produttori di software (anche nel caso in cui essi non
possano vantare diritti di proprietà intellettuale sullo standard).
- markup non proprietari (pubblici). Sono definiti e controllati da enti imparziali, di solito organizzazioni interna-
zionali che si occupano di standardizzazione.
e
- markup leggibile. Si ha quando una persona può, senza notevole sforzo, cogliere le indicazioni di marcatura ed in-
dividuare le porzioni di testo a cui si riferiscono.
- markup non leggibile. Si ha quando la lettura di un linguaggio di marcatura è impossibile o richiede uno sforzo no-
tevole.
e
- markup procedurale. Consiste nell’inserire nel documento istruzioni per la presentazione del testo (per esempio,
ingrandire i caratteri, usare il corsivo, ecc).
- markup dichiarativo. Consiste nel caratterizzare le porzioni del testo a seconda della loro funzione nel testo stesso,
a seconda della loro funzione semantica (ad esempio, indicare che una porzione di un testo normativo è un comma,
ecc).
e
- linguaggi di marcatura. Specificano le etichette (o tag) ed i comandi da utilizzare nella marcatura di un testo.
- metalinguaggi di marcatura. Consentono al loro utilizzatore di definire ed usare il proprio linguaggio di marcatu-
ra, cioè di definire etichette o più in generale modelli documentali che corrispondono ai propri bisogni.
5) Indicizzazione semantica
Per superare i limiti della ricerca sintattica, cioè basata sull’estrazione dei testi che contengono le parole specificate nel que-
sito, sono state sviluppate numerose tecnologie, tra cui le più importanti sono:
- i soggettari.
I soggettari sono liste di termini che individuano i temi o gli argomenti rilevanti, sul modello delle voci che possiamo trova-
re negli indici analitici e sommari dei manuali giuridici; questi termini possono essere utilizzati come descrittori dei docu-
menti, cioè associando un termine ad un documento se ne descrive il contenuto. Tale associazione può essere compiuta da
un documentalista umano oppure in modo automatico, ricorrendo ad un software in grado di analizzare il contenuto dei testi
e di associarlo ai descrittori opportuni. L’uso del soggettario nella ricerca automatica presuppone che tutti i documenti siano
stati indicizzati usando i termini nel soggettario e che il soggettario stesso sia noto a chi compie la ricerca.
Il collegamento tra descrittori e documenti può essere posto in vario modo. Possiamo trasformare la lista dei descrittori in un
indice, in cui accanto ad ogni descrittore compaiono i riferimenti dei documenti a cui il descrittore è applicato. Un’altra pos-
sibilità consiste nell’inserire i descrittori all’interno dei documenti a cui essi si riferiscono (racchiusi tra opportune etichette
che indicano che si tratta di descrittori del testo, anziché di parole appartenenti al testo). Nel mondo di Internet è preferibile
inserire i descrittori documento, ed una volta che essi sono stati inseriti è possibile costruire automaticamente gli indici ne-
cessari.
Il soggettario diventa maggiormente utile, poiché può consentire una maggiore precisione nella ricerca documentale, quando
esso sia strutturato in modo gerarchico, cioè quando indichi che certi termini di portata più ampia sono sovraordinati a
certi termini di portata più ristretta, in quanto la materia indicata dal termine più ampio comprende al suo interno la materia
indicata dal termine più specifico.
- i thesauri.
I thesauri si hanno quando il soggettario, cioè l’elenco di termini che individua temi o argomenti contenuti in un determinato
documento, comprende anche una specificazione dei sinonimi di questi ultimi. Il motore di ricerca che utilizzi un thesaurus
può estendere la propria ricerca al di là dei documenti che contengono i termini indicati dall’autore, infatti può ricercare au-
tomaticamente i documenti descritti da sinonimi del termine indicato, o quelli descritti con termini più specifici, o quelli de-
scritti con termini associati, ecc. Collegando insiemi vocaboli strutturati in lingue diverse si ottengono thesauri multilingui-
stici: gli strumenti informatici per il multilinguismo giuridico sono particolarmente utili per lo studio del diritto dell’Unione
Europea, che deve tener conto della diversità dei sistemi giuridici degli Stati membri, espressi nelle diverse lingue nazionali.
- le ontologie.
Si ha un’ontologia quando il sistema terminologico, cioè la specificazione del significato dei termini e dei loro rapporti, for-
nisca un vero e proprio modello concettuale, che indica quali sono le classi rilevanti, quali classi sono incluse in quelle più
ampie, quali sono le condizioni per l’appartenenza ad una classe, e le relazioni tra le diverse classi. Nelle ontologie formali
i contenuti sono definiti con precisione logica, e per questo sono elaborabili automaticamente. Se disponiamo di
un’ontologia formale, possiamo individuare con precisione il concetto che ci interessa e richiedere tutti i documenti attinenti
a quel concetto o ai concetti che si trovano in una particolare connessione con esso.
Un’ontologia formale può essere utilizzata per fare ragionare i sistemi informatici. Esempio: se l’ontologia indica al sistema
informatico che la documentazione è parte del software, e che il software è un’opera d’ingegno, e che le parti delle opere
d’ingegno non possono essere riprodotte senza l’autorizzazione del titolare del diritto d’autore, il sistema potrà concludere
che la documentazione di un software non può essere riprodotta senza l’autorizzazione del titolare del diritto d’autore sul
software. Un’ontologia può essere utilizzata anche per far comunicare sistemi informatici che utilizzano diverse terminolo-
gie. Esempio: se il sistema dell’impresa acquirente usa il termine “ordine d’acquisto” per indicare l’atto che il sistema
dell’impresa fornitrice indica come “proposta d’acquisto”, ma nei due sistemi i due termini sono collegati al medesimo con-
cetto di un’ontologia condivisa, quando il sistema della seconda impresa riceve un atto qualificato come “ordine d’acquisto”,
lo potrà elaborare secondo le procedure previste per le “proposte d’acquisto”.
Esistono ontologie fondazionali: si occupano dei concetti più astratti dell’essere (identità, differenza, somiglianza, parteci-
pazione, ecc). Esistono anche ontologie di dominio: si occupano di particolari ambiti della conoscenza e possono mirare a
coprire un intero ambito disciplinare (la biologia, la chimica, la medicina, l’ingegneria, ecc) o possono limitarsi ad un parti-
colare aspetto della realtà (cibo, computer, aeroplani, ecc); si parla di ontologie del nocciolo di un dominio per indicare le
ontologie che si limitano a rappresentare i concetti più importanti all’interno di un particolare ambito.
Lo sviluppo di ontologie formali in ambito giuridico si collega all’opera di tanti giuristi e filosofi del diritto che hanno
cercato di caratterizzare con precisione le categorie giuridiche e di specificare l’architettura delle loro relazioni. Le nuove
teorie e tecniche sviluppate nelle ricerche sulle ontologie formali offrono notevoli opportunità per lo studioso del diritto,
modelli tratti dalla ricerche ontologiche possono infatti consentire allo studioso del diritto di perfezionare le analisi dei con-
cetti giuridici, di rappresentare con precisione le diverse strutture concettuali in uso, nonché di precisare i contenuti di queste
e di coglierne i difetti formulando poi proposte di revisione. Le moderne tecniche per la costruzione di ontologie formali,
consentendo di unire espressività e precisione nella rappresentazione dei concetti, possono collegare analisi giuridiche e rea-
lizzazioni informatiche.
6) La crittografia e l’informatica
Le tecnologie informatiche liberano le informazioni dalla loro dimensione fisica, e così ne favoriscono la conoscibilità e la
modificabilità: le informazioni digitali possono essere riprodotte istantaneamente e trasmesse a distanza a velocità immedia-
ta, inoltre possono essere modificate a piacimento di chi interviene su di esse. Vi sono però dei casi in cui i soggetti sono in-
teressati a limitare la conoscibilità di certe informazioni, a mantenere riservati certi messaggi; in altri casi i soggetti sono in-
teressati all’autenticità ed all’integrità dei documenti informatici che invano o che gli provengono (quando inviamo un testo
vogliamo essere certi che il destinatario lo riceverà nella sua integrità, e quando riceviamo un testo vogliamo essere sicuri
che si tratta del testo che ci è stato inviato da chi ne appare essere il mittente e senza interventi da parte di terzi). Ciò vale in
particolare, ma non solo, per i testi che documentano fatti giuridicamente rilevanti (ad esempio un’offerta contrattuale). Esi-
stono tecnologie informatiche per soddisfare tali esigenze, la più importante delle quali è la crittografia (essa ha trovato
numerose applicazioni informatiche, alcune delle quali, come la firma digitale, hanno grande rilevanza per il diritto).
La crittografia, dal greco “kryptos” (“nascosto”) e “graphia” (“scrittura”), è la disciplina che si occupa della cifrazione (o
codifica) e della decifrazione (o decodifica) dei testi. Le tecniche crittografiche consentono di trasformare un testo leggibi-
le (testo in chiaro) in un testo non più comprensibile al lettore (testo cifrato), e di risalire dal testo cifrato al testo in chiaro.
La crittografia esiste da più di 2.000 anni, già Giulio Cesare usò un semplice metodo crittografico per trasmettere i messag-
gi segreti. All’inizio del ‘900 si cominciò a ricorrere a dispositivi meccanici per la crittografia: un esempio particolarmente
significativo è rappresentato da Enigma, la macchina usata per le comunicazione nell’esercito tedesco durante la seconda
guerra mondiale, i cui messaggi furono decifrati con i contributi dei matematici polacchi ed inglesi, e grazie al calcolatore
Colossus.
I calcolatori consentono di eseguire algoritmi per la cifrazione/decifrazione dei testi molto complessi, tali algoritmi compio-
no la cifrazione/decifrazione sulla base di parametri detti chiavi. Una volta tradotti tali algoritmi in un programma informa-
tico, potremo affidare direttamente al computer la cifrazione o la decifrazione di un messaggio. Esistono due tipi di sistemi
crittografici:
- sistemi a chiave simmetrica, che usano la stessa chiave sia per la cifrazione sia per la decifrazione del messaggio.
In questi sistemi chi è un grado di compiere una delle due operazioni, cifrazione o decifrazione, è necessariamente
in grado di compiere anche l’altra operazione, poiché la chiave che usa è la stessa.
- sistemi a chiave asimmetrica, che usano due chiavi diverse e tra loro complementari, una per la cifrazione ed una
per la decifrazione del messaggio. In questi sistemi le operazioni di cifrazione e di decifrazione sono indipendenti,
infatti chi conosce solo una delle due chiavi non può svolgere entrambe le funzioni.
La crittografia asimmetrica consente di realizzare i sistemi a chiave pubblica, nei quali ciascuno dei soggetti che si
scambiano informazioni ha la titolarità di una diversa coppia di chiavi: una chiave della coppia, la chiave privata
rimane segreta e conosciuta solo al titolare, mentre l’altra chiave della coppia, la chiave pubblica è resa pubblica-
mente accessibile e conoscibile a tutti coloro che intendono comunicare con il titolare. Questi sistemi consentono i
garantire tanto la riservatezza delle comunicazioni, quanto l’autenticità e l’integrità dei messaggi.
Alcuni anni fa le tecniche crittografiche più avanzate erano riservate agli usi militari e ne era vietata la comunicazione al
pubblico. Si temeva infatti che la disponibilità di queste tecniche avrebbe messo a rischio la sicurezza nazionale, poiché es-
sere avrebbero consentito alle reti criminali o spionistiche di comunicare liberamente, sottraendosi alle indagini di polizia.
Le esigenze delle comunicazioni elettroniche e la facile disponibilità di software per la crittografia hanno però reso, negli
anni successivi, impraticabile tale divieto ed oggi i potenti sistemi crittografici sono accessibili a tutti.
Le tecniche crittografiche possono essere usate per l’invio di messaggi segreti, in quanto anche se il messaggio viene inter-
cettato esso non potrà essere letto se non se ne conosce la chiave di decifrazione.
I sistemi a chiave asimmetrica offrono maggiori garanzie di sicurezza rispetto ai sistemi a chiave simmetrica. Nei sistemi a
chiave simmetrica è necessario che entrambe le parti posseggano la stessa chiave, pertanto prima che le parti possano comu-
nicare usando la chiave condivisa è necessario che esse si scambino tale chiave, e chi è in grado di intercettare le comunica-
zioni tra le parti potrà ottenere la conoscenza della chiave intercettando il messaggio in cui essa è trasmessa, e grazie ad essa
potrà decifrare le comunicazioni successive. Nei sistemi a chiave asimmetrica, invece, il destinatario del messaggio rende
nota una delle sue chiavi (che svolge quindi la funzione di chiave pubblica) ed invita il mittente ad usarla nell’invio dei mas-
saggi a lui rivolti; anche se il terzo riesce ad intercettare un messaggio diretto al destinatario e conosce la chiave pubblica
dello stesso, non potrà decifrare il messaggio, perché a tale fine è necessaria la chiave privata del destinatario, che questi ha
mantenuto segreta non comunicandola ad alcuno.
La crittografia asimmetrica può essere usata anche per garantire l’autenticità e l’integrità del messaggio. Il mittente può
cifrare il testo usando la propria chiave privata ed inviare al destinatario sia il testo cifrato sia il testo in chiaro da cui il testo
cifrato è stato tratto. Il destinatario del messaggio può quindi decifrare il testo cifrato usando la chiave pubblica del mittente:
se la decifrazione del testo cifrato dà un risultato identico al testo in chiaro ricevuto il destinatario può avere sia la certezza
che il messaggio è stato inviato dal titolare della chiave privata corrispondente alla chiave pubblica usata per la decifrazione,
sia la certezza che quel messaggio non è stato modificato da terzi. Poiché le due chiavi del mittente operano in coppia, se il
testo cifrato fosse stato ottenuto usando una chiave diversa dalla chiave privata del mittente, dal testo cifrato non si sarebbe
potuti risalire al testo originario usando la chiave pubblica del mittente, e se il testo in chiaro fosse stato modificato da terzi
esso non coinciderebbe con il risultato della decifrazione del testo cifrato.
La firma digitale, basata sulla crittografia asimmetrica, è la tecnologia che meglio garantisce l’autenticità e l’integrità dei
documenti elettronici. La tecnologia della firma digitale usa la doppia chiave nel modo sopra descritto, con una particolarità:
la cifrazione asimmetrica non viene applicata a tutto il testo in chiaro, ma solamente ad un’abbreviazione di questo, la sua
impronta (digest), estratta automaticamente a partire dal testo in chiaro. La formazione della firma digitale segue quindi
una sua procedura:
- il mittente crea l’impronta del testo in chiaro, utilizzando una procedura informatica denominata funzione di hash,
la quale garantisce l’univocità dell’impronta (ciò significa che da testi diversi la funzione di hash estrae sempre im-
pronte diverse).
- il mittente cifra l’impronta usando la propria chiave privata, ottenendo così la firma digitale del testo in chiaro, la
quale viene inviata al destinatario assieme al testo in chiaro. Ogni testo su cui una persona apponga una firma digita-
le ha una diversa firma digitale, che risulta dalla codifica dell’univoca impronta di quel testo con la chiave privata
del mittente.
- il destinatario applica al testo in chiaro ricevuto la funzione di hash, estraendone una nuova impronta. A questo pun-
to egli decifra l’impronta cifrata ricevuta con il messaggio, mediante la chiave pubblica del mittente.
- il destinatario può verificare l’autenticità e l’integrità del messaggio accompagnato dalla firma digitale in questo
modo: egli confronta l’impronta estratta dal testo in chiaro con quella ottenuta attraverso la decifrazione. Se le due
impronte sono identiche significa che il messaggio è stato codificato con la chiave privata del mittente e non è stato
modificato da alcuno.
L’obbiettivo della firma digitale è di fornire al destinatario la garanzia che il messaggio proviene effettivamente da chi ap-
pare esserne il mittente. Non esistono soluzioni tecnologiche capaci di prevenire tutti i possibili abusi delle firme digitali. La
garanzia che una firma digitale appartenga realmente a chi appare esserne il titolare è fornita da un certificatore (cioè
un’autorità di certificazione). Il certificatore fornisce al titolare della firma digitale un certificato, cioè un documento elet-
tronico che attesta la sua identità, la chiave pubblica attribuitagli ed il periodo di validità del certificato stesso. Il titolare del-
la firma allega il certificato ai messaggi firmati, e sulla base di questo il destinatario del messaggio può rivolgersi al certifi-
catore, attraverso il software per il riconoscimento della firma digitale, per verificare l’identità del mittente.
CAPITOLO 5: Internet
Le tecnologie informatiche hanno fornito la base per la più grande invenzione degli ultimi decenni: Internet, la rete globale.
Negli anni ’70 furono definiti i protocolli fondamentali di Internet, chiamati TCP ed IP:
- il protocollo TCP (Transmission Control Protocol), che regola il trasporto dei pacchetti nella rete (invio, scam-
bio, ricezione).
- il protocollo IP (Internet Protocol), che regola l’indirizzamento dei pacchetti nella rete.
L’idea fondamentale nello scambio di informazioni su Internet è che le operazioni che deve compiere la rete debbano essere
ridotte al minimo, affidando tutte le attività importanti ai punti terminali della rete stessa, cioè al calcolatore del mittente ed
a quello del destinatario. Le apparecchiature che governano il traffico della rete, i router, si limitano a far avanzare i pac-
chetti verso la loro destinazione (in questo modo la funzione delle apparecchiature della rete viene semplificata, e la rete ac-
quista una maggiore efficienza). I protocolli TCP ed IP definiscono un’infrastruttura dove ogni messaggio può viaggiare da
ogni nodo ad ogni altro nodo, senza controlli intermedi. Ogni messaggio è suddiviso in pacchetti di bit, del cui contenuto la
rete non si occupa; ognuno di questi pacchetti è racchiuso in una busta digitale (costruita secondo le regole del protocollo
IP) che riporta tutte le informazioni necessarie per trasmettere il pacchetto alla sua destinazione. I pacchetti viaggiano spo-
standosi di nodo in nodo, seguendo cammini non prestabiliti: il percorso di un pacchetto è determinato dalle condizioni del
traffico della rete, essendo i pacchetti diretti secondo algoritmi che ottimizzano l’utilizzazione della rete, evitandone la con-
gestione. La trasmissione di un pacchetto da un nodo a quello successivo è compiuta da quegli appositi calcolatori che sono i
router, i quali si limitano a ricevere il pacchetto inviato dal nodo precedente ed a inviarlo in avanti verso un nodo più vicino
alla destinazione, racchiuso nella propria busta digitale. Solamente quando i pacchetti giungono al calcolatore di destinazio-
ne, le buste digitali sono aperte ed i pacchetti sono riuniti e controllati.
Questa indifferenza rispetto ai contenuti trasportati costituisce la neutralità della rete: questa caratteristica rappresenta an-
zitutto un’importante garanzia di innovazione decentrata, nel senso che la rete può essere usata per qualsiasi nuova soluzione
tecnologica o nuovo modello economico in quanto la sua organizzazione non impone vincoli agli utenti. La neutralità della
rete ha inoltre implicazioni sociali e politiche: comporta l’assenza di discriminazioni rispetto al contenuto del messaggio tra-
sportato e rispetto alla natura del mittente (tale neutralità verrebbe meno qualora la rete fosse predisposta in modo da dare
precedenza ai messaggi forniti da certe categorie di mittenti, ad esempio certe imprese commerciali, o rifiutasse di trasmette-
re i messaggi che contengono certi contenuti).
Recentemente, autorevoli voci hanno affermato la necessità di superare la neutralità della rete. Offrendo a pagamento condi-
zioni preferenziali (ad esempio una maggiore velocità sulla rete) ai pacchetti che presentino certe caratteristiche si otterreb-
bero risorse che potrebbero essere utilizzate per potenziare le infrastrutture di Internet. Grazie all’abbandono della neutralità
della rete, si passerebbe dalla situazione attuale, nella quale tutti si debbono accontentare di un servizio modesto, ad una
nuova situazione, nella quale alcuni (chi è disposto a pagare) potrebbero ottenere un servizio migliore, senza che peggiori il
servizio offerto agli altri. Altre autorevoli voci sono contrarie all’abbandono della neutralità della rete. Si teme che ciò com-
porterebbe gravi pericoli per lo sviluppo di Internet e per l’economia della rete: potrebbe comportare un peggioramento del
servizio per chi non può pagare il prezzo richiesto per prestazioni superiori a pagamento, potrebbe condurre a violazioni del-
la concorrenza (chi domina il mercato potrebbe ottenere condizioni migliori nella connessione e quindi una posizione privi-
legiata), ecc. Inoltre si teme che l’abbandono della neutralità della rete metterebbe a rischio la libertà di espressione e la de-
mocrazia su Internet: potendo trattare in modo diverso le comunicazioni on-line a seconda dell’emittente o del contenuto del
messaggio, i fornitori di connettività, e le autorità politiche attraverso di essi, avrebbero la possibilità di controllare l’uso di
Internet da parte dei cittadini e di scegliere quali comunicazioni favorire e quali ostacolare.
I protocolli TCP ed IP si propongono di governare non solo la comunicazione all’interno di una rete, ma anche la comunica-
zione tra reti eterogenee: i messaggi che viaggiano all’interno di una rete, una volta uniformati ai due protocolli, possono es-
sere trasmessi ad altre reti, e quindi emerge la possibilità della formazione di una rete di reti. Gli anni ’80 videro la forma-
zione, negli USA, di numerose reti conformi ai protocolli TCP ed IP. Alle reti statunitensi si aggiunsero poi reti TPC-IP rea-
lizzate in altri Paesi. Una tappa importante nello sviluppo di Internet fu la creazione di una connessione ad altissima veloci-
tà: Internet venne così ad assumere progressivamente l’attuale configurazione a più livelli, nella quale le reti locali sono
connesse a reti di ampia dimensione, le quali sono connesse alle grandi infrastrutture per i collegamenti intercontinentali.
All’interno delle reti locali i calcolatori possono continuare ad utilizzare protocolli diversi da TCP ed IP, sarà il router che
collega la rete locale ad Internet ad occuparsi delle necessarie conversioni (nonostante questa possibilità, TCP ed IP sono
frequentemente adottati anche nelle reti locali).
I messaggi che viaggiano attraverso Internet sono destinati a svolgere funzioni determinate, connesse con particolari appli-
cazioni attive sui calcolatori connessi: si tratta dei servizi di rete, come la posta elettronica, l’accesso a pagine web, la chat,
la telefonia su Internet, ecc. I messaggi, pertanto, dovranno contenere le informazioni necessarie per la particolare applica-
zione a cui sono riferiti, ed i calcolatori devono trattarli nel modo richiesto da tale applicazione (anche se essi utilizzano per
quell’applicazione un software diverso da quello del mittente). I messaggi, al fine di raggiungere Internet o pervenire ai cal-
colatori a cui sono destinati, devono compiere un tratto sulle linee telefoniche o su una rete locale (prima di affrontare questi
tratti debbono essere ampliati con le indicazioni necessarie a tale fine).
Si possono distinguere cinque strati nell’architettura di Internet:
- strato dell’applicazione. Questa busta contiene le indicazioni riguardanti l’applicazione a cui il messaggio è desti-
nato (ad esempio, nel caso della posta elettronica l’indicazione dell’indirizzo e-mail).
- strato del trasporto (definito tal protocollo TCP). Questa busta contiene le indicazioni necessarie per il trasporto
del pacchetto in rete.
- strato della rete (definito dal protocollo IP). Questa busta contiene le indicazioni necessarie per l’indirizzamento
del pacchetto in rete.
- strato del collegamento dati. Questa busta contiene le indicazioni necessarie affinché il pacchetto giunga da
Internet al nostro calcolatore (specificate ad esempio dal protocollo Ethernet, attinente al collegamento mediante
una rete locale, o dai protocolli PPP o SLIP, attinenti al collegamento tramite reti telefoniche).
- strato fisico.
Gli starti più importanti nel funzionamento di Internet sono lo strato del trasporto e lo strato della rete. In conformità ai di-
versi protocolli che caratterizzano ciascuno strato, specifiche informazioni sono aggiunte ai pacchetti in cui il messaggio
viene suddiviso. Il pacchetto giunto tramite Internet al nostro calcolatore può essere quindi paragonato ad una lettera imbu-
stata più volte: le informazioni richieste dal protocollo attinente ad uno strato inferiore (più esterno) sono apposte all’esterno
del contenuto predisposto secondo il protocollo dello strato superiore (più interno). Secondo questo modello architetturale,
definito incapsulamento, ogni busta racchiude proprio come una capsula la busta dello strato superiore, e può essere tratta-
ta, in conformità al proprio protocollo, prescindendo dal proprio contenuto.
L’adozione dei protocolli TCP ed IP favorisce la libera circolazione delle informazioni, all’insegna della neutralità della rete
rispetto ai contenuti veicolati. La mancanza di controlli intermedi significa che la rete, fin dal suo inizio, ha avuto la propen-
sione a diventare un mezzo di comunicazione globale.
Internet è potuta diventare il luogo in cui coesistono e comunicano diverse culture. Quattro principali ispirazioni ideali
hanno contribuito a formare la rete:
- la cultura tecnico-meritocratica, caratterizzata dai valori della scoperta tecnologica e dalla condivisione della co-
noscenza.
- la cultura hacker, caratterizzata dai valori dalla creatività e dalla cooperazione.
- la cultura virtual-comunitaria, caratterizzata dai valori della libertà di comunicazione ed associazione.
- la cultura imprenditoriale, caratterizzata dai valori del denaro, del lavoro e del consumo.
Agli inizi, quando Internet era usata solo da un numero limitato di persone, spesso inserite nella sua stessa costruzione, le
componenti tecnico-meritocratiche ed hacker erano le principali ispiratrici della rete. Negli anni successivi, crebbero altre
comunità virtuali, come quella virtual-comunitaria ed imprenditoriale. Grazie ad Internet persone che hanno certi interessi
possono coltivarli assieme, la rete comporta una drastica riduzione dei costi relativi alla produzione e distribuzione
dell’informazione. Sono le attività commerciali a caratterizzare maggiormente lo spirito di Internet negli ultimi anni.
Accanto alla “normatività” convenzionale degli standard (gli standard non sono norme in senso proprio, poiché la loro effi-
cacia si basa sull’interesse individuale ad adottare comportamenti coerenti con i comportamenti altrui), la comunità di
Internet ha prodotto anche norme in senso stretto, regole sociali: si tratta di credenze condivise che certi modelli di com-
portamento debbano essere seguiti da ogni singolo membro della comunità (nell’interesse della comunità o per raggiun-
gere scopi comuni ai suoi membri), anche quando il comportamento prescritto sia contrario all’interesse particolare del sin-
golo. Tali credenze normative sono solitamente combinate a sanzioni informali, consistenti nel giudizio negativo delle co-
munità interessata, un giudizio che può condurre nei casi più seri all’espulsione di chi contravvenga la norma.
La combinazione di protocolli-standard convenzionali e di regole sociali è stata sufficiente per governare Internet ai suoi i-
nizi. Il diritto aveva allora una funzione marginale: stabiliva i diritti di proprietà sull’hardware (il software era spesso di libe-
ra disponibilità) della rete ed i diritti fondamentali (libertà di parola, di comunicazione, di iniziativa privata, ecc) consentiva-
no di sfruttare in modo decentrato e creativo le possibilità offerte dall’infrastruttura della rete.
Negli ultimi anni, in seguito alla crescita dell’importanza sociale ed economica di Internet, la normatività spontanea della
rete è stata affiancata da norme giuridiche. L’incontro del diritto con Internet, però, ha dato luogo ad opinioni divergenti.
Da un lato vi sono le posizioni libertarie o separatiste, secondo le quali Internet crea uno spazio nuovo virtuale e globale, se-
parato rispetto allo spazio oggetto del potere dei governi, fisico e nazionale. Alle attività compiute all’interno di Internet non
andrebbero quindi applicate le discipline giuridiche. Da un altro punto di vista, vi sono invece numerose richieste di una di-
sciplina giuridica di Internet. Si tratta di voci provenienti dai governi, interessati a controllare la rete a fini di polizia (pre-
venzione del crimine e del terrorismo, censura di alcuni tipi di informazioni illegali, ecc). Altre voci in tal senso provengono
dalla comunità degli affari, che hanno richiesto ed ottenuto facilitazioni per il commercio elettronico, la protezione dei mar-
chi e dei segni distintivi, un’energica tutela della proprietà intellettuale. Infine, altre voci hanno richiesto la protezione della
privacy on-line, e più un generale la garanzia che Internet rimanga un ambiente nel quale esercitare in sicurezza i diritti civi-
li, sociali e culturali.
Secondo i protocolli TCP e IP, ogni calcolatore è identificato da un numero della lunghezza di 4 byte (32 bit), definito indi-
rizzo IP. Solitamente tale numero è espresso in una forma più facilmente leggibile e memorizzabile, convertendo ogni byte
in un numero decimale. Le prime cifre dell’indirizzo IP identificano la rete a cui il calcolatore appartiene, mentre le ultime
cifre identificano un particolare calcolatore all’interno di quella rete.
Un calcolatore può avere un proprio indirizzo IP permanente (è così per i calcolatori permanentemente collegati alla rete
stessa), oppure può ricevere ogni volta che si collega in rete un diverso indirizzo IP temporaneo, che torna disponibile dopo
il collegamento e potrà essere assegnato a un nuovo utente (è così per i calcolatori che utilizzano Internet mediante collega-
mento telefonico o via radio). L’assegnazione di un particolare indirizzo IP è una operazione solitamente incontroversa: un
numero vale l’altro ed al richiedente è assegnato il primo numero libero tra quelli disponibili nella rete a cui egli appartiene.
A partire dagli anni ’80 si sentì l’esigenza di usare un diverso sistema di riferimento, che usasse identificatori più facilmente
memorizzabili e tali da richiamare la funzione svolta mediante un certo sito o l’identità del suo titolare: nacquero così i nomi
di dominio (domain name). Un nome di dominio si costituisce combinando più parole separate da punti: esso corri-
sponde all’indirizzo IP del calcolatore. Nell’analisi del nome si parte dalla fine:
- l’ultima parola è un suffisso che indica la nazionalità dell’ente a cui il nome appartiene o il tipo di attività svolto
dall’ente stesso (nel caso di un nome privo di suffisso nazionale).
- la parola che precede il suffisso indica l’ente a cui fa capo il dominio, la quale può essere ancora preceduta da ulte-
riori specificazioni qualora il dominio afferisca ad una ripartizione all’interno di quell’ente.
Un nome di dominio identifica un dominio, cioè un gruppo di indirizzi IP. Per identificare un particolare calcolatore appar-
tenente a quel dominio, bisogna anteporre al nome di dominio un’ulteriore specificazione, cioè il nome dell’host (il calcola-
tore collegato ad Internet) che desideriamo contattare. Aggiungendo al nome di dominio il particolare nome di host (ho-
stname) che contraddistingue, all’interno del dominio stesso, il calcolatore a cui vogliamo far riferimento otteniamo un no-
me di dominio completamente qualificato, che indica in modo univoco quel particolare calcolatore. Aggiungendo ad un
nome di dominio completamente qualificato il prefisso www (world wide web) richiamiamo il servizio web svolto da quel
calcolatore. Premettendo il nome di un servizio direttamente al dominio ci colleghiamo al calcolatore deputato a svolgere
quel servizio all’interno del dominio.
Esiste un’infrastruttura chiamata Sistema dei nomi di dominio (DNS, Domain Name System) che si occupa di tradurre i
nomi di dominio completamente qualificati in indirizzi IP. Tale infrastruttura consta di una rete di calcolatori, i server DNS,
che svolgono la funzione di una sorta di elenco telefonico: quando il nostro browser (il programma per navigare in rete) de-
ve accedere ad un calcolatore di cui abbiamo indicato il nome di dominio, esso invia il nome di dominio ad un server del
DNS, che risponde inviando il corrispondente indirizzo IP.
L’innovazione consistente nell’affiancare i nomi di dominio agli indirizzi IP numerici ha un rilievo tecnologico limitato (si
tratta solo della creazione e gestione di un elenco utilizzato automaticamente), ma ha un grande impatto giuridico. Infatti i
nomi di dominio sono diventati ben presto oggetto di controversie: la prepotenza di chi, utilizzando un nome quale segno
distintivo commerciale, ne pretendeva l’uso esclusivo anche nel mondo virtuale, oppure il comportamento approfittatore di
chi registrava nomi di dominio corrispondenti a segni distintivi altrui allo scopo di richiedere un compenso al titolare del se-
gno distintivo in cambio del trasferimento del nome di dominio, ecc.
Oltre a TCP ed IP, esistono numerosi protocolli di Internet, destinati a fornire funzioni ulteriori:
- il protocollo TELENET (TELecommunication NETwork, rete di telecomunicazione), che consente di interagire
con un calcolatore remoto nello stesso modo in cui si opererebbe da un terminale dotato di video e tastiera collegato
al calcolatore remoto mediante cavo.
- il protocollo FTP (File Transport Protocol, protocollo per il trasferimento dei file), che consente di scambiare e
manipolare file. Chi utilizza questo protocollo accede al sistema di file (le cartelle ed i file che queste contengono)
del calcolatore remoto, e può prelevare o depositare file, cancellarli, creare nuove cartelle, ecc (a seconda dei per-
messi di cui dispone).
- il protocollo SMTP (Simple Mail Transfert Protocol, protocollo semplice per il trasferimento di posta), che ri-
guarda la posta elettronica.
Ogni comunicazione inviata in rete da un particolare calcolatore è etichettata con l’indirizzo IP del calcolatore mittente. Di
conseguenza, è sempre possibile individuare l’indirizzo utilizzando il quale è stata compiuta una certa operazione di rete (lo
scaricamento di un file, l’invio di un messaggio di posta, ecc);; questo può consentire a sua volta l’individuazione della per-
sona che ha compiuto quella particolare operazione.
Spesso pensiamo che le attività svolte in rete siano anonime e che possiamo accedere alla maggior parte dei siti senza di-
chiarare la nostra identità. Questo anonimato, normalmente, è solo un’illusione: quando operiamo su Internet, infatti, tutti gli
accessi da noi compiuti presso un certo server sono registrati nel web-log (diario di bordo del web) del server, ossia nel file,
aggiornato dinamicamente, che riporta la sequenza delle operazioni compiute su quel server. Nel web-log vengono registra-
ti: l’indirizzo IP associato al calcolatore che ha effettuato l’accesso, il tempo dell’accesso, la pagina web visitata ed il
browser utilizzato.
Si è discusso se l’informazione registrata in un web-log possa considerarsi un dato personale: anche se l’indicazione che una
certa persona abbia compiuto in rete certe attività è un’informazione personale, il web-log non consente di collegare imme-
diatamente la descrizione dell’attività al suo fruitore, in quanto esso si limita ad associare quell’attività ad un indirizzo IP.
L’indirizzo IP consente di risalire al calcolatore mediante il quale l’attività in questione è stata compiuta: nel caso di un cal-
colatore con IP statico basterà individuare il calcolatore dotato di quell’IP, mentre nel caso di un calcolatore con IP dinamico
bisognerà rivolgersi al fornitore di accesso (per esempio, Telecom o Wind) che potrà indicare il numero di telefono a cui è
stato associato quell’IP nel lasso di tempo in cui è stato effettuato l’accesso registrato nel web-log e si individuerà così il
calcolatore, o almeno l’utenza telefonica utilizzata, e da questo si potrà risalire ad una determinata persona, cioè colui che si
pensa abbia usato il calcolatore stesso.
Le informazioni registrate nel web-log di un sito sono insufficienti ad identificare un determinato calcolatore: il meccanismo
dell’allocazione dinamica fa sì che uno stesso IP possa essere assegnato a diversi calcolatori in momenti successivi, e che
uno stesso calcolatore possa ricevere IP diversi;; ciò impedisce, in particolare, di ricostruire la storia dell’interazione di un
determinato utente con il sito, in quanto i diversi accessi di una stessa persona vengono effettuati con IP diversi.
La soluzione comunemente adottata per raggiungere un risultato di sicura identificazione del calcolatore che interagisce con
un determinato sito consiste nell’utilizzare i cookie (dolcetti o biscotti, in inglese). Un cookie per il web, detto HTTP coo-
kie (ossia cookie per il protocollo HTTP), è un insieme di dati inviati dal sito e memorizzati dal browser in un file che
risiede sul calcolatore dell’utente. Quando un calcolatore si collega per il prima volta ad un certo sito, il sito gli invia un
cookie, caratterizzato da un proprio identificatore univoco, poi ogniqualvolta il calcolatore si ricollega a quel sito, il cookie
precedentemente inviato viene rispedito al sito, il quale quindi sa che il nuovo accesso è stato compiuto proprio dal calcola-
tore al quale aveva precedentemente inviato il cookie. I cookie sono semplici dati, ma sono tuttavia problematici per quanto
riguarda la protezione della privacy: il cookie consente al sito che l’abbia inviato di unire tutti gli accessi compiuti con un
certo calcolatore, e quindi di ricostruire la storia delle attività compiute da possessore di quel calcolatore. Si capisce come in
questo modo si possa ricostruire il profilo di una persona. Sono particolarmente pericolosi per la privacy i cosiddetti cookie
provenienti da terzi, cioè quelli inviati non dal server corrispondente alla pagina a cui siamo collegati ma dai server
in cui si trovano elementi (immagini, banner pubblicitari, ecc) visualizzati in tale pagina. Collocando più banner in siti
diversi, l’inserzionista potrebbe controllare l’interazione di una persona sui diversi siti, unificando tutte le informazioni. I
browser normalmente consentono all’utilizzatore di scegliere come rapportarsi ai cookie: è possibile respingere tutti i cookie
o solo quelli di terzi, e cancellare tutti i cookie che abbiamo già ricevuto o solo alcuni di essi. Tale facoltà è garantita anche
dalla nostra disciplina della protezione dei dati, cioè dal Codice della Privacy, che ammette l’uso dei cookie per determinati
scopi legittimi relativi alla memorizzazione tecnica per il tempo strettamente necessario alla trasmissione della comunica-
zione o a fornire uno specifico servizio richiesto dall’abbonato o dall’utente solo con il consenso dell’interessato. Ai tradi-
zionali cookie (HTTP cookie) si sono recentemente affiancati nuovi tipi di dati inseriti nel calcolatore di chi accede a siti
web, al fine di tracciarne il comportamento on-line: in particolare ricordiamo i flash cookie, inseriti nel calcolatore
dell’utente dal software Adobe Flash Player, presente su quasi tutti i calcolatori. Il contenuto e la funzione dei flash cookie
può essere analogo a quello dei cookie tradizionali, ma l’interfaccia del browser non ci consente di scegliere se accettare i
flash cookie o di eliminarli dal nostro computer. Siti malevoli possono utilizzare i flash cookie per continuare a tracciare il
comportamento dell’utente anche dopo che questi abbia eliminato un cookie mediante il proprio browser: il sito invia due
coppie, un normale HTTP cookie ed un flash cookie, e qualora l’utente cancelli l’HTTP cookie quest’ultimo viene ricreato
sulla base del corrispondente flash cookie.
Le prime applicazioni importanti di Internet furono: collegamento a calcolatori remoti ed accesso a file remoti (calcolatori
e file situati su calcolatori materialmente collocati in porzioni dello spazio lontane dal luogo di accesso dell’utente), e
servizio di posta elettronica. Un salto di qualità fu realizzato con la creazione del World-Wide Web (WWW, la ragnatela
globale).
Il Web non è un software, ma un enorme insieme di documenti, unificati dagli standard usati per la loro identificazio-
ne, creazione e consultazione. I tre standard che hanno consentito l’avvio del Web sono i seguenti:
- URL (Uniform Resource Locator, localizzatore uniforme di risorse), un tipo di identificatore per gli oggetti del
Web presenti in rete, che designa in modo univoco tali oggetti, specificando come essi possano essere automatica-
mente individuati e richiamati. Gli URL hanno la caratteristica di indicare la localizzazione della risorsa da essi i-
dentificata, cioè il relativo indirizzo di rete, ed il protocollo da usare per richiamarla: pertanto gli URL possono esse-
re risolti automaticamente, cioè sulla base dell’URL il nostro browser è in grado di richiamare automaticamente
l’oggetto individuato dall’URL stesso.
- HTML (HyperText Markup Language, linguaggio per la marcatura dell’ipertesto), il linguaggio per predisporre
documenti ipertestuali.
- HTTP (HyperText Transfer Protocol, protocollo per il trasferimento dell’ipertesto), il protocollo che disciplina
l’interazione tra il calcolatore client, che richiede pagine Web, ed il calcolatore server, che le fornisce.
Grazie a questi standard sono stati costruiti gli strumenti software per la consultazione e lo sviluppo del Web:
- i software per la navigazione in rete (i browser), quali consentono di spostarsi dall’una all’altra pagina del Web,
visitando l’ipertesto globale (una pagina Web può infatti contenere un link, cioè un collegamento ipertestuale, ad
altre pagine Web, il quale è solitamente indicato a video dal fatto che una o più parole sono sottolineate oppure
scritte di un colore diverso, solitamente il blu).
Il Web si ispira al modello dell’ipertesto, un sistema informatico che consente all’utente di visualizzare i documen-
ti e di spostarsi automaticamente dal documento visualizzato ad altri documenti ad esso collegati. Chi crea una pagi-
na Web è libero di inserire in essa qualsiasi contenuto e di inserire dei link a qualsiasi pagina Web di qualsiasi sito
(senza la necessità di accordarsi con chi ha creato tale pagina o gestisce il relativo sito), e gli standard Web sono in-
dipendenti da ogni particolare hardware o software.
- i software per la realizzazione di siti Web.
Fino agli anni ’80 Internet si configurava come un’iniziativa statunitense, prevalentemente sotto il controllo pubblico. Tutta-
via, già nella seconda metà di questi anni, aveva avuto inizio la creazione di reti in altri Paesi. A partire dagli anni ’90,
Internet fu aperta agli operatori commerciali, che svilupparono proprie reti. Di conseguenza, oggi non esiste alcun soggetto
particolare che possa qualificarsi come proprietario unico o principale di Internet, né alcun potere politico la cui autorità si
estenda all’intera rete: la proprietà delle infrastrutture della rete è ripartita tra numerosi enti pubblici e privati, e la rete si e-
stende ormai a tutte le Nazioni del mondo. Conseguentemente, il governo di Internet si è separato sia dalla proprietà delle
infrastrutture della rete, sia dal controllo delle autorità politiche nazionali, ed è stato affidato a diversi organismi, formatisi
nel corso degli anni per rispondere alle esigenze attinenti allo sviluppo ed al funzionamento di Internet. La nascita degli or-
ganismi di Internet è talvolta connessa con iniziative di soggetti pubblici statunitensi; tuttavia, tali organismi sono riusciti
ad acquistare una progressiva autonomia basata sulla loro funzione tecnica, che ha trovato un successivo riconoscimento
giuridico. Grazie a tale autonomia essi hanno potuto mantenere le proprie funzioni anche quando la rete è divenuta globale:
si tratta di enti privati (associazioni o società commerciali senza scopo di lucro) che perseguono, con autonomia rispetto al-
le autorità politiche nazionali, interessi collettivi attinenti al funzionamento ed allo sviluppo della rete.
Le strutture per il governo di Internet possono suddividersi in due gruppi:
- le istituzioni finalizzate allo sviluppo tecnologico ed alla definizione/perfezionamento degli standard.
Lo sviluppo delle tecnologie di Internet fa capo ad ISOC (Internet Society, società di Internet), con sedi in Virginia
ed in Svizzera, un’organizzazione la cui partecipazione è aperta a tutte le persone interessate a contribuire allo svi-
luppo di Internet. Le scelte sono affidate ad organi collegiali prevalentemente tecnocratici (ciò formati utilizzando la
competenza tecnica come criterio per la selezione del personale), strutturati in modo da garantire la presenza di
competenze tecniche e di specialisti imparziali, accanto alla rappresentanza dei diversi interessi implicati nello svi-
luppo di Internet. Quello di ISOC è un modello organizzativo adottato anche dalle altre principali istituzioni di
Internet.
Ad ISOC fa capo IETF (Internet Engineering Task Force, task force destinata all’ingegneria di Internet),
l’organizzazione più importante per quanto riguarda la definizione degli standard. Essa è un’organizzazione virtuale,
nel senso che non ha personalità giuridica né sede fisica. IETF comprende numerosi gruppi di lavoro che si occupa-
no dei diversi standard di Internet, la partecipazione ai gruppi di lavoro è aperta, cioè chiunque può associarsi a tali
gruppi, ed avviene mediante Internet.
IESG (Internet Engineering Steering Group, gruppo per la direzione dell’ingegneria di Internet) è
l’organizzazione che si occupa di sovraintendere l’attività dei gruppi di lavoro di IETF. Essa valuta, in particolare, i
progressi nella maturazione degli standard e la validità dei risultati raggiunti.
Anche IAB (Internet Architecture Board, comitato per l’architettura di Internet) partecipa alla definizione degli
standard, essa si occupa delle questioni di carattere più generale.
A queste strutture si è aggiunto negli ultimi anni un nuovo importante organismo attivo nel campo della standardiz-
zazione, si tratta di W3C (Wold-Wide-Web Consortium, consorzio per la ragnatela globale). W3C ha personalità
giuridica ed una struttura associativa, nel senso che ha sedi fisiche (negli USA, in Europa ed in Giappone) e perso-
nale stabile. W3C effettua studi che mirano a realizzare un unico Web, esteso al mondo intero (one-Web), cioè una
piattaforma aperta nella quale informazioni e servizi siano a tutti accessibili, sia facilitata l’elaborazione automatica
delle informazioni e sia garantita l’affidabilità degli scambi. W3C si occupa anche degli studi sul web semantico.
- le istituzioni finalizzate alla gestione ed all’assegnazione di indirizzi e nomi.
Il funzionamento di Internet richiede la disponibilità di identificatori univoci, sia indirizzi numerici sia nomi di do-
minio. ICANN (Internet Corporation for Assigned Names and Numbers, società di Internet per l’assegnazione
di nomi e numeri) è una società commerciale, con sede in California, a cui spetta il compito di coordinamento delle
funzioni riguardanti l’assegnazione di quegli identificatori univoci che sono gli indirizzi numerici ed i nomi di do-
minio. Le attività di ICANN sono decentrate, poiché in ogni continente si trova una struttura, detta RIR (Regional
Internet Registry, registro regionale di Internet), competente per l’assegnazione di indirizzi numerici; ICANN affi-
da a ciascun RIR grandi quantità di indirizzi, che quest’ultimo provvederà a collocare in blocchi presso ciascun for-
nitore di servizi Internet (ISP, cioè Internet Service Provider), il quale a sua volta si occuperà di assegnare gli in-
dirizzi ai propri utenti.
Per quanto riguarda i nomi di dominio, l’assegnazione dei nomi generici (suffissi gov, com, org, ecc) è stata delega-
ta da ICANN ad una società denominata Network Solutions Inc. (NSI), mentre l’assegnazione di nomi con suffisso
nazionale (it, eu, uk, ecc) è svolta da enti situati nelle diverse nazioni interessate, chiamati naming authority e regi-
stration authority.
ICANN ha definito criteri uniformi per la risoluzione delle controversie attinenti all’assegnazione dei nomi di domi-
nio. Ad esempio, per ottenere un nome di dominio generico (privo del suffisso della nazione) bisogna accettare la
clausola arbitrale che affida la soluzione di eventuali dispute ad un collegio arbitrale, e le decisioni di quest’ultimo
sono applicate direttamente da ICANN. Nella disciplina dei nomi di dominio si manifesta apertamente l’autonomia
della regolazione di Internet rispetto al diritto statale, autonomia che riguarda non solo la formazione di regole ma
anche la loro applicazione nella decisione di controversie e l’esecuzione delle decisioni prese sulla base di tali rego-
le. Anche per i nomi assegnati dalla Registration Authority italiana (suffisso it) è possibile attivare una procedura
arbitrale, ma la soggezione all’arbitrato è in Italia facoltativa, nel senso che la sottoscrizione della clausola arbitrale
non è condizione necessaria per ottenere il nome (il ricorso alla procedura arbitrale italiana richiede quindi il con-
senso di entrambe le parti, pertanto essa è raramente utilizzata).
4) Il Web semantico
Il termine Web semantico fa riferimento all’inserimento nel Web di informazioni comprensibili da parte del calcola-
tore. Il Web attuale corrisponde solo in piccola misura all’idea del Web semantico. Gli oggetti presenti sul Web contengono
per lo più informazioni comprensibili solo all’uomo (siano esse testi, file multimediali, canzoni, film, ecc), che il calcolatore
si limita a visualizzare nel formato richiesto. Nel modello del Web semantico, invece, le pagine del Web debbono contenere
anche informazioni comprensibili da parte del calcolatore, cioè informazioni che possono essere elaborate automaticamente.
Il Web semantico si ripromette di superare i limiti del Web presente, facilitando l’accesso all’informazione e l’effettuazione
di varie attività mediante Internet; i documenti potranno includere le informazioni richieste per varie attività che li riguarda-
no, in particolare quelle attinenti al commercio elettronico o al governo elettronico.
Lo sviluppo del Web semantico rientra nell’ambito di W3C, che ha promosso la definizione e l’applicazione di standard in-
tesi a consentire lo sviluppo di tecnologie per il Web semantico.
Gli standard del Web semantico che attengono agli strati inferiori sono:
- lo standard Unicode, che indica come rappresentare, mediante un unico numero binario e perciò in modo univoco e
riconoscibile dal calcolatore, ogni carattere di qualsiasi alfabeto oggi in uso.
- lo standard degli URI (Uniform Resource Identifiers, identificatori uniformi delle risorse), che indica come deno-
minare in modo non ambiguo tutte le risorse accessibili sul Web.
Gli standard del Web semantico che attengono agli strati superiori sono:
- XML (eXtensible Markup Language, linguaggio estensibile per la marcatura), un metalinguaggio che consente di
definire etichette per esprimere la struttura dei propri documenti e per includere ulteriori informazioni in tali docu-
menti.
- RDF, un linguaggio che consente di includere nei documenti enunciati sugli oggetti rilevanti e le loro proprietà.
- le ontologie, che consentono di specificare concetti e relazioni concettuali e di compiere le inferenze corrispondenti.
- la logica (le regole), che permette di esprimere informazioni complesse, utilizzabili nei ragionamenti.
- la fiducia, che comprende i modi per assicurare la riservatezza, l’autenticità, l’integrità e l’affidabilità.
Oggi il Web offre un’immensa quantità di informazione giuridica, possiamo dire che è diventato la principale fonte di co-
gnizione del diritto. Tuttavia, l’uso del Web per conoscere il diritto è complicato da alcuni fattori:
- i documenti giuridici sono disponibili in formati diversi e non sempre leggibili con il software presente nel nostro
calcolatore.
- i documenti giuridici sono reperibili utilizzando i motori di ricerca, le cui prestazioni sono solitamente buone per
quanto riguarda la capacità di richiamo (poco silenzio) ma abbastanza scadenti per quanto attiene alla selettività
(molto rumore) ed all’affidabilità.
Tradurre il progetto Web semantico in ambito giuridico significa fare in modo che ciascuno, usando un qualsiasi tipo di
dispositivo, possa ottenere dal Web informazioni giuridiche affidabili. La realizzazione del Web semantico può consentire di
accrescere l’usabilità dell’informazione giuridica, facilitandone il reperimento automatico e consentendo l’elaborazione au-
tomatica dei dati inclusi nei documenti giuridici. In particolare sarebbe opportuno avere a disposizione:
- standard condivisi per l’identificazione delle risorse giuridiche, grazie ai quali ogni atto giuridico, prodotto da
qualsiasi autorità, possa essere univocamente identificato e ritrovato.
- standard per la strutturazione dei documenti giuridici.
- standard, basati su RTF, per associare ai documenti giuridici dichiarazioni di vario tipo (sui contenuti,
l’autorità emanante, i tempi, ecc).
- ontologie giuridiche.
- linguaggi per la rappresentazione delle norme giuridiche in forma logica.
- metodi per assicurare l’affidabilità dell’informazione giuridica e la sua conservazione.
Le reti sociali:
un sito di rete sociale (social network site) può essere definito come un servizio basato sul Web che consente agli individui
di avvalersi principalmente di tre funzioni:
- la costruzione di un proprio profilo pubblico o semipubblico all’interno di un sistema circoscritto. Questa funzio-
ne contraddistingue l’aspetto dell’identità: gli utenti della rete creano profili che li rappresentano, grazie alla com-
binazione di informazioni personali di vario genere.
- la condivisione delle connessioni, cioè specificare una lista di altri utenti con i quali condividere una connessione.
Questa funzione contraddistingue l’aspetto relazionale: attraverso il sito si mantengono e si sviluppano contatti con
altre persone, e le connessioni contribuiscono anche alla formazione dell’identità sociale dell’individuo (il fatto di
essere amico di certe persone e di partecipare a certe iniziative indica aspetti della sua personalità).
- l’attraversamento della rete delle connessioni, cioè esaminare ed attraversare la propria lista di connessioni e le
liste fatte da altri all’interno del sistema. Questa funzione contraddistingue l’aspetto della comunità: gli utenti della
rete sociale possono identificare la forma della loro comunità ed in particolare il ruolo che essi stessi hanno al loro
interno.
Esistono numerose reti sociali, dotate di funzionalità diverse ed utilizzate in diverso grado in diverse aree geografiche. Oggi
la rete maggiormente diffusa su scala globale è Facebook. Facebook ebbe origine nel 2.005 presso l’Università di Harvard,
nella quale esisteva la consuetudine di distribuire ai nuovi studenti, al fine di facilitare la conoscenza reciproca, un volume
che riportava le foto di tutti i nuovi iscritti. Mark Zuckerberg, uno studente di informatica, ebbe l’idea di informatizzare il
volume ed inoltre di promuovere la sua produzione ad opera degli utenti (non più ad opera dell’amministrazione universita-
ria), così essi stessi avrebbero fornito la propria foto e le informazioni con le quali presentarsi ai colleghi. Con la collabora-
zione di alcuni compagni Mark realizzò un sito atto a svolgere questa funzione e lo mise a disposizione degli studenti di
Harvard. Il successo fu rapidissimo: nel giro di pochi mesi la maggior parte degli studenti di tale università si registrò presso
il sito, che fu quindi messo a disposizione di altre università e poi aperto alla generalità degli utenti (oggi Facebook è usato
da circa 500 milioni di persone). Facebook è stato caratterizzato da una rapida evoluzione, arricchendosi di funzioni aggiun-
tive: gli utenti possono inviarsi messaggi utilizzando un’applicazione per la messaggistica interna alla piattaforma, ogni pro-
filo è dotato di una bacheca sulla quale gli amici possono inserire i loro messaggi, gli utenti possono informare i propri amici
delle proprie iniziative, si possono immettere album fotografici, ecc.
Si potrebbe ritenere che Facebook realizzi nel modo più pieno il diritto alla privacy sull’informazione, individualisticamente
inteso come il diritto all’autodeterminazione informativa, cioè il diritto di ciascuno di scegliere con chi condividere i propri
dati personali ed in quali forme. Rimane tuttavia irrisolto il conflitto tra privacy individuale e dinamiche comunicative nelle
reti sociali, infatti una volta che qualcuno abbia aperto il proprio profilo ad altri diventa difficile se non impossibile control-
lare l’ulteriore utilizzo che questi facciano delle informazioni a cui hanno avuto accesso. La disciplina delle reti sociali ri-
chiede quindi un difficile bilanciamento tra privacy da un lato e libertà di informazione, di comunicazione e d’espressione
dall’altro.
I blog:
La parola blog, derivante da web-log (diario di bordo del web), indica un tipo di sito Web generalmente gestito da una per-
sona o da un ente in cui l’autore pubblica on-line, come in una sorta di diario,i propri pensieri, opinioni, riflessioni, conside-
razioni ed altro. È un modello diffusosi con estrema rapidità negli ultimi anni, caratterizzato dalla rapidità di aggiornamento
e dall’interattività con i lettori. I blog vengono prodotti grazie a piattaforme on-line che facilitano la redazione e
l’aggiornamento di pagine Web (anche all’utente privo di conoscenze tecniche), consentono di pubblicare brevi messaggi
(post) solitamente presentati nell’ordine cronologico invertito (dai più recenti ai più risalenti), permettono ai lettori di essere
informati tempestivamente sugli aggiornamenti del sito (la pubblicazione di nuove pagine e massaggi) e di dialogare con
l’autore inserendo i propri commenti. La pratica del blog ha determinato due fondamentali innovazioni nell’uso della rete:
- l’accresciuta dinamicità. Anche prima dei blog esistevano numerosi siti personali, nei quali una o più persone pre-
sentavano sé stesse e mettevano a disposizione del pubblico materiali di vario genere, tuttavia questi siti erano ten-
denzialmente statici o comunque caratterizzati da periodi di stabilità interrotti da occasionali o periodiche modifi-
che. I blog, invece, sono di regola dinamici, in essi nuove informazioni sono pubblicate di continuo.
- l’accresciuta interattività. Anche prima dei blog era possibile comunicare con il titolare del sito, inviandogli mes-
saggi di posta elettronica o sfruttando gruppi di discussione collegati al sito, tuttavia di regola i materiali presentati
sul sito personale erano opera del titolare del sito, mentre l’interazione si sarebbe svolta al di fuori di esso. I blog,
invece, consentono ai lettori di associare commenti alle pagine ed ai messaggi dell’autore, commenti che sono vi-
sualizzati sul blog ed ai quali l’autore od altri lettori possono rispondere. Il blog diventa quindi il luogo di dialogo
tra l’autore ed i lettori. L’autore del blog può regolare tale dialogo, limitandolo ad alcune persone od esercitando un
controllo preventivo sui messaggi inviati, anche se nella maggior parte dei blog è concessa la massima libertà (nel
senso che l’autore si limita ad eliminare successivamente i messaggi che ritiene sconvenienti).
L’interattività del blog è potenziata da alcune funzionalità. Ricordiamo anzitutto la tecnologia del Web-feed (som-
ministrazione del Web), che consente di ricevere automaticamente gli aggiornamenti delle pagine Web. Un Web-
feed è un documento in XML, associato ad una pagina Web, che indica le modifiche subite dai contenuti di tale pa-
gina. L’utente interessato agli aggiornamenti dovrà registrarsi presso il Web-feed (normalmente ciò si ottiene clic-
cando su un’apposita icona) e dotarsi di un software capace di leggere i Web-feed (oggi i browser più diffusi sono
dotati di questa funzione). Il software si collegherà ai Web-feed presso i quali l’utente si sia registrato, e comuniche-
rà all’utente le modifiche dei relativi siti, fornendogli anche i link ai nuovi contenuti. Benché i Web-feed possano
essere utilizzati anche per altri tipi di pagine Web, essi sono particolarmente rilevanti per i blog, data la dinamicità
di questi.
Il blog può avere carattere confidenziale, ed essere rivolto ad una cerchia ristretta di soggetti; è allora una sorta di diario con
il quale l’autore condivide le proprie esperienze ed i propri interessi con amici e conoscenti, ai quali può, se lo desidera, re-
stringere l’accesso. Altre volte il blog ha una destinazione più ampia, rivolgendosi a quanti debbano essere aggiornati con
riferimento ad una certa attività. Infine, alcuni blog sono rivolti alla generalità degli interessati, che può essere più o meno
ampia a seconda della tematica affrontata o della popolarità dell’autore.
Benché i blog nascano da iniziative particolari, non coordinate tra di loro, essi sono ricchi di interconnessioni, infatti il crea-
tore di un blog normalmente inserisce nel blog stesso dei link che conducono alle pagine di altri blog che egli ritiene signifi-
cativi per i propri lettori. Attraverso l’interconnessione dei singoli blog emerge la cosiddetta blogosfera, cioè la rete compo-
sta dai blog e dalle loro molteplici interconnessioni, nella quale si possono compiere ricerche utilizzando software specifi-
camente destinati a questo scopo (i motori di ricerca per blog).
I wiki e Wikipedia:
Un wiki è un sito Web che permette la facile creazione e modifica di un numero qualsiasi di pagine interconnesse mediante
un browser Web che usa un linguaggio di marcatura semplificato o un editore di testi WYSIWYG (What You See Is What
You Get).
La parola “wiki” deriva dalla lingua hawaiana, nella quale “wiki” significa “rapido”, e quindi tale parola allude alla rapidità
di scrittura e collaborazione consentita da questa tecnologia. Le pagine dei wiki sono solitamente redatte usando un linguag-
gio di marcatura più semplice e limitato dell’HTML, vengono poi tradotte automaticamente in HTML, ed in questo formato
inviate al browser che le visualizzerà ai lettori. Una funzione essenziale dei wiki è il controllo delle modifiche: è possibile
esaminare tutte le modifiche subite da un testo, ed individuare con precisione chi ha effettuato la modifica ed in quale tem-
po. I wiki offrono anche strumenti per la gestione delle versioni di un testo: è possibile risalire alla versione del testo prece-
dente ad una qualsiasi modifica.
I wiki sono strumenti perfetti per il lavoro cooperativo, per la collaborazione decentrata di comunità aperte di autori: essi so-
no rivolti alla creazione di opere comuni, nelle quali il contributo di ciascuno diventa indistinguibile dal contributo altrui.
Più autori possono intervenire sul medesimo testo, controllandone l’evoluzione nel tempo. Un wiki può essere accessibile
solo ad alcune persone (a quanti collaborano al progetto cui il wiki è destinato) oppure può essere aperto al pubblico (qua-
lunque utente registrato, e talvolta anche l’utente non registrato, può intervenire modificando il contenuto delle pagine). Si
potrebbe immaginare che questa seconda modalità di gestione dovrebbe condurre alla distruzione del contenuto informativo
del wiki, in seguito agli interventi di autori incapaci o di atti di vandalismo;; invece, l’esperienza ha mostrato che gli inter-
venti incompetenti o malintenzionati sono relativamente rari e comunque i successivi interventi di revisori competenti e be-
nintenzionati pongono ad essi rimedio in breve tempo, nella maggior parte dei casi.
Grazie alla tecnologia dei wiki h potuto svilupparsi la più grande e più letta enciclopedia oggi esistente, Wikipedia, presente
in 200 lingue diverse (Wikipedia è il 3° sito maggiormente frequentato del Web). Wikipedia nacque dal fallimento di un
progetto precedente, denominato Nupedia, un’enciclopedia on-line alla quale tutti potevano proporre i propri contributi, la
cui pubblicazione era però subordinata ad un processo di revisione e controllo affidato ad esperti retribuiti. L’organizzatore
del progetto, Jimmy Wales, di fronte allo scarso numero di contributi ottenuti a fronte dei costi elevati, dovette abbandonare
il progetto. Egli venne però a conoscenza della tecnologia dei wiki, e nel 2.000 decise di avviare un nuovo progetto di enci-
clopedia, Wikipedia, basato su tale tecnologia, nel quale sia la redazione delle voci sia i controlli fossero completamente de-
centrati ed affidati alla generalità degli interessati. Chiunque poteva scrivere una nuova voce e chiunque poteva intervenire
modificando una voce preesistente; a tale fine era necessario registrarsi presso il sito di Wikipedia, ma non vi erano controlli
e quindi chiunque desiderasse rimanere anonimo poteva farlo creandosi un’identità fittizia. Secondo il senso comune, un
progetto siffatto doveva essere destinato ad un immediato fallimento: persone ragionevoli e competenti non avrebbero forni-
to gratuitamente il proprio lavoro per la faticosa costruzione delle voci, ed anche se qualcuno l’avesse fatto il suo contributo
sarebbe presto stato distrutto da incompetenti e vandali. Contrariamente a queste aspettative, Wikipedia ebbe un enorme
successo, conoscendo una crescita rapidissima sia nel numero dei contributi disponibili sia nel numero dei contributori e dei
lettori. All’edizione inglese (di gran lunga la più ampia) si sono affiancate altre edizioni in numerose lingue. Si è osservato
che la qualità dei contributi è generalmente elevata, comparabile a quella delle migliori enciclopedie commerciali (non man-
cano le inesattezze, ma esse vengono di solito prontamente individuate e corrette). Le motivazioni di tale partecipazione vo-
lontaria e non retribuita sono varie: l’interesse per i temi trattati dalle voci, la volontà di contribuire alla creazione di
un’opera che renda la conoscenza accessibile liberamente e gratuitamente a tutta l’umanità, ecc. La collaborazione tra i re-
dattori delle voci è facilitata da una regola di neutralità, che prevede la formulazione di tutte le diverse opinioni sulle que-
stioni controverse (lo scopo non è quello di scrivere gli articoli da un singolo punto di vista, ma è di rappresentare tutte le
prospettive su una certa questione).
Una dialettica simile a quella sviluppatasi rispetto al software ha caratterizzato anche il dibattito politico e giuridico circa la
regolazione della produzione e dell’uso di altri tipi di opere d’ingegno: filmati, musica, opere letterarie, ecc. Come per il sof-
tware, tale disciplina è stata ispirata all’idea che solo impedendo gli usi non autorizzati si potessero garantire sufficienti pro-
fitti all’impresa culturale. Ricordiamo in particolare come la nostra disciplina sul diritto d’autore stabilisca una durata
molto lunga per i diritti di sfruttamento economico (che durano fino a 70 anni dalla morte dell’autore) e preveda utiliz-
zazioni libere ristrette. La stessa legge sul diritto d’autore prevede anche sanzioni per l’uso non autorizzato di contenuti
protetti:
- sanzioni penali per chi distribuisca in rete contenuti protetti a fine di lucro, cioè per trarne un guadagno.
- sanzioni penali più lievi per chi distribuisca in rete contenuti protetti a fine di profitto, cioè per ottenere un qualsiasi
beneficio patrimoniale (incluso il mero risparmi di spesa, il non-costo).
- sanzioni amministrative per chi si limiti a riprodurre contenuti protetti (a scaricarli dalla rete).
Come nel campo del software, così anche in quello delle opere digitali numerose opinioni hanno rilevato come una discipli-
na eccessivamente restrittiva sia scarsamente applicabile ed inoltre possa favorire gli oligopoli esistenti, limitare l’accesso ai
contenuti culturali ed impedire le attività creative (ostacolando l’accesso alle opere d’ingegno). Accanto alle richieste di una
riforma del diritto d’autore, sono emerse iniziative volte a far sì che lo stesso diritto d’autore possa essere usato per ampliare
l’accesso alle opere ed il loro uso creativo. Il successo dell’esperienza open source e l’ampio uso della licenza GPL hanno
suggerito di estendere lo stesso modello anche ad altre opere d’ingegno: ne è risultato il modello delle licenze creative
commons. Si tratta di un sistema di licenze semplice e flessibile, che consente all’autore interessato a rendere liberamente
accessibili le proprie opere di specificare a quali esclusive egli intenda rinunciare. In tutte le licenze creative commons
l’autore autorizza tutti a riprodurre e distribuire l’opera per fini non commerciali (senza scopo di lucro), e richiede
che ogni copia dell’opera e delle opere derivate tratte da essa rechino l’indicazione del suo nome, cosicché la sua pa-
ternità sia sempre riconosciuta. L’autore può, se lo desidera:
- ampliare la libertà dei terzi offrendo loro l’ulteriore libertà di modificare l’opera, creando opere derivate basate su
di essa.
- assoggettare tale libertà di modifica alla clausola condividi allo stesso modo (share alike) che corrisponde al copy-
left del software open source. In questo modo anche le opere derivate ottenute modificando l’opera soggetta a questa
clausola dovranno essere distribuite con la medesima licenza creative commons, conferendo le stesse libertà ai loro
utilizzatori.
- consentire anche usi non commerciali.
Le licenze creative commons non sono un modello utilizzabile in ogni occasione. In particolare questo modello giuridico
può essere inadatto per gli autori che traggono il proprio sostentamento dalla commercializzazione delle proprie opere. Que-
sto modello, tuttavia, può trovare numerose applicazioni, non solamente nell’ambito della produzione paritetica: ad esempio,
esso è frequentemente utilizzato per i contributi scientifici, i cui autori normalmente sono interessati soprattutto alla circola-
zione delle proprie opere (piuttosto che al modesto risultato economico che potrebbero trarre dalla loro distribuzione com-
merciale) e godono di regola di altre fonti di reddito.
Le imprese che forniscono le piattaforme del Web impiegano un consistente numero di dipendenti ed operano a scopo di
profitto, offrendo agli individui ed ai gruppi la possibilità di comunicare, di accedere ad opere d’ingegno e di crearne di
nuove. Di regola le piattaforme funzionano in questo modo:
- l’impiego della piattaforma è concesso gratuitamente, e le attività che generano reddito sono quelle connesse: la
pubblicità sui siti è fornita a fronte di un corrispettivo da parte degli inserzionisti.
- gli utenti mettono a disposizione gratuitamente i loro contenuti, cioè senza percepire corrispettivi dal gestore della
piattaforma.
Quando le diverse piattaforme competono per attirare gli utenti, esse finiscono per offrire loro un più ampio panorama di
scelte ed opportunità. Per questo motivo può attuarsi una sinergia: gli individui generano una crescente quantità di contenuti
ed i fornitori generano migliori servizi per accogliere ed aggregare quei contenuti. In questo modo i bisogni individuali pos-
sono realizzarsi in un’economia capace di sostenersi e svilupparsi in un quadro di autorganizzazione/autoregolamentazione.
Bisogna tuttavia notare che non sempre si attua la coincidenza tra gli interessi degli utenti e la ricerca del profitto:
- le imprese che offrono servizi ed in particolare piattaforme per contenuti creati dagli utenti potrebbero utilizzare i
dati personali dei propri utenti in forme illecite (per esempio, tali dati potrebbero essere trasferiti a terzi contro o
senza la volontà degli utenti, come accade nel caso del trasferimento dei dati ad operatori commerciali che li use-
ranno a fini pubblicitari).
- gli utenti non sono più in grado di eliminare le loro informazioni personali che hanno fornito al gestore della
piattaforma, una volta che tali informazioni siano state trasferite.
- il trasferimento dei dati su una piattaforma on-line comporta una perdita di controllo da parte dell’utente,
anche quando questi abbia la possibilità di rimuovere i dati dalla piattaforma; questi dati, infatti, possono essere stati
prelevati da altri soggetti, che possono usarli in modi non previsti e non desiderati. Da qui scaturisce l’esigenza di
elaborare nuove soluzioni tecnologiche e giuridiche che consentano a chi abbia trasferito dati personali su piatta-
forme Web di far sì che quei dati possano essere cancellati dal Web nel suo insieme, e non solo dal sito Web nel
quale sono stati caricati. Questo diritto alla cancellazione, all’oblio, del soggetto a cui si riferiscono i dati si contrap-
pone al diritto all’informazione di chi abbia ottenuto quei dati e li ritenga rilevanti, per questo motivo adeguate solu-
zioni richiedono un difficile bilanciamento dei diritti e degli interessi in gioco.
Si è recentemente osservato che il crescente uso delle piattaforme on-line può favorire una crescente frammentazione del
Web, cioè la sua suddivisione in diverse sottoreti sempre più separate le une dalle altre (sia negli strumenti software sia nella
cerchia degli utenti). Gli utenti di talune piattaforme tendono infatti a rimanere all’interno della piattaforma, usando i servizi
che essa offre, perfettamente integrati nella piattaforma stessa. La medesima tendenza si verifica nell’accesso al Web me-
diante dispositivi mobili, i quali si presentano sempre più come piattaforme integrate per l’uso dei servizi di Internet;; per e-
sempio, chi usa un iPhone di regola non accede ai servizi del Web mediante un motore di ricerca generalista (come Google),
ma vi accede mediante piccoli programmi informatici detti App (da Application), che lo collegano direttamente ai siti di in-
teresse (le App sono spesso gratuite, ma sono approvate da Apple e distribuite esclusivamente attraverso il negozio on-line
di Apple).
Gli ultimi anni sono stati caratterizzati da alcuni importanti sviluppi, contraddistinti dalla connessione tra Interne e la realtà,
tra la dimensione virtuale e la dimensione fisica. Oggi il calcolatore può prelevare informazioni dall’ambiente (mediante ap-
positi sensori) ed eventualmente operare nell’ambiente stesso. L’interazione automatica tra calcolatore ed ambiente acquista
una nuova dimensione nell’era presente, grazie all’unione di due fattori: l’inserimento di calcolatori dotati di sensori in di-
spositivi di ogni genere (telefonini, automobili, apparecchiature domestiche, ecc) ed il collegamento di questi dispositivi ad
Internet (e quindi anche tra di essi). L’interazione oggi più diffusa tra strumenti informatici e realtà si attua nei servizi basa-
ti sulla localizzazione (il nostro smartphone è in grado sia di indicarci il percorso tra due luoghi sia di rilevare la nostra po-
sizione nel percorso). Si parla di:
- realtà aumentata, per indicare la visione della realtà ottenuta combinando la raffigurazione di un oggetto tratta dal-
la realtà con elementi tratti dal mondo virtuale associato a quell’oggetto su Internet.
- Internet delle cose, per indicare lo sviluppo di Internet conseguente alla connessione in rete degli oggetti materiali.
- intelligenza ambientale, per indicare l’inserimento nell’ambiente fisico di dispositivi automatici dotati della capaci-
tà di elaborare informazioni ed intelligenza, nonché di comunicare. Questi dispostivi inseriti nell’ambiente governa-
no macchine di vario genere, facendo sì che l’ambiente stesso si adatti automaticamente alle esigenze dell’uomo (ad
esempio, esistono oggi abitazioni od elettrodomestici automatici od intelligenti).
Gli sviluppi appena illustrati sollevano non pochi problemi giuridici, in particolare attinenti alla protezione della vita privata
ed alla tutela delle libertà individuali. Sta infatti emergendo la possibilità di realizzare un controllo totale sulle persone, ca-
ratterizzato dal fatto che ogni nostro comportamento può essere rilevato, classificato ed aggiunto ai nostri profili, potremmo
essere manipolati da sistemi automatici a conoscenza delle nostre tendenze e debolezze. Per prevenire questi sviluppi è ne-
cessario realizzare un quadro giuridico idoneo a garantire che la fusione tra il mondo virtuale e quello fisico si sviluppi nel
rispetto dei valori umani.
La prima sintesi, i sistemi universalmente accessibili ma plurali degli anni ’90:
La sintesi tra la tesi degli anni ’70 (la realizzazione di un unico sistema nazionale per la documentazione giuridica, inclusivo
di tutte le fonti ed accessibile a tutti tramite un collegamento remoto) e l’antitesi degli anni ’80 (la distribuzione di copie di-
verse di banche dati, da utilizzare su PC accessibili individualmente) si è compiuta negli anni ’90, mediante la rivoluzione di
Internet.
Tale sintesi consiste nell’accesso a tutte le fondi di documentazione giuridica mediante un unico sistema tecnologico
distribuito, il Web. Abbiamo assistito negli ultimi anni ad iniziative molteplici ed eterogenee: assemblee legislative, uffici
giudiziari, pubbliche amministrazioni, autorità indipendenti, ecc hanno realizzato propri siti Internet nei quali rendono di-
sponibili informazioni giuridiche di vario genere, inoltre numerosi professionisti del diritto, in particolare avvocati, hanno
iniziato a trasferire fonti del diritto sul Web. Pertanto, oggi sono disponibili sul Web numerose copie di molte fonti del dirit-
to: leggi, regolamenti, sentenze, atti amministrativi, ecc, senza dimenticare che l’informazione giuridica sul Web si estende
anche al dibattito dottrinale ed a discorsi che riguardano il diritto come articoli di giornale e dichiarazioni politiche, ed un
certo interesse meritano anche i blog giuridici. La sintesi di Internet ha portato ad una grande crescita nella quantità delle in-
formazioni giuridiche disponibili sul Web, una crescita da cui hanno tratto profitto gli studiosi del diritto, i pratici ed anche i
comuni cittadini. A fronte di questa crescita quantitativa c’è però da dire che non è comunque facile ritrovare nel Web
l’informazione giuridica di cui abbiamo bisogno.
La nuova tesi, un sistema informativo giuridico centralizzato per l’era di Internet:
L’informazione giuridica su Internet è caratterizzata dalla frammentazione: essa è fornita da enti diversi e suddivisa in molti
siti, ma questi siti non seguono standard comuni per quando riguarda la presentazione dei documenti, il loro aggiornamento,
le tecniche per la ricerca, ecc. Facilitare la cognizione del diritto nell’era di Internet significa porre rimedio a questa fram-
mentazione, un risultato che può essere perseguito in due modi diversi, secondo due indirizzi antitetici:
- la tesi, consistente in un nuovo modello di sistema di documentazione omnicomprensivo e centralizzato, affidato
all’iniziativa pubblica ed il cui funzionamento sia integrato con lo svolgimento delle procedure legislative, giudizia-
rie ed amministrative.
- l’antitesi, consistente nello sviluppo decentrato di sistemi informativi giuridici, al di fuori della pubblica ammini-
strazione, sulla base della libera disponibilità (assicurata dall’iniziativa pubblica) di documenti giuridici in formato
elettronico.
La tesi consiste nel creare un database-madre centralizzato che contiene tutti i documenti giuridici, di qualsiasi tipo, dal
quale si trarranno i diversi output in diversi formati (tale base di dati dovrebbe essere predisposta ed aggiornata mediante un
processo editoriale centralizzato). In particolare la base di dati madre dovrebbe fornire gli output seguenti: una base di dati
per i professionisti che offre prestazioni elevate e più ampi contenuti, una gazzetta ufficiale con la nuova legislazione, com-
pilazioni del diritto vigente, tutti testi ufficiali in versione originale, ecc.
Questo modello offre i seguenti vantaggi:
- affidabilità dell’informazione giuridica (che sarebbe estratta dalla base di dati ufficiale).
- coerenza formale delle diverse fonti (che proverrebbero dalla stessa base di dati e sarebbero state predisposte secon-
do la medesima procedura editoriale).
- riduzione del rumore nelle ricerche giuridiche (per le quali si interrogherebbe la base di dati ufficiale, anziché i mol-
ti siti disponibili su Internet).
1) L’intelligenza
Manca una definizione univoca e condivisa di intelligenza. Solitamente si conviene che l’intelligenza si rivela nella capacità
di svolgere funzioni come: adattamento all’ambiente o a nuove situazioni, apprendimento dall’esperienza, pensiero astratto,
utilizzo efficiente di risorse limitate, comunicazione, ecc.
L’intelligenza artificiale non si propone solamente di studiare la conoscenza, ma anche di costruirla. Come dallo studio
dell’intelligenza umana si possono trarre utili indicazioni al fine della costruzione dell’intelligenza artificiale, così la costru-
zione dell’intelligenza artificiale ci aiuta a cogliere la natura dell’intelligenza ed in particolare possiamo trarne ipotesi circa
il funzionamento dell’intelligenza umana.
Esistono due diversi modi, in relazione a due diverse dimensioni, di accostarsi allo studio dell’intelligenza artificiale:
- l’idea che l’intelligenza consista esclusivamente nel pensiero (rappresentazione della conoscenza e del ragiona-
mento) si contrappone all’idea che essa includa anche l’interazione con l’ambiente (percezione ed azione).
- l’obbiettivo di riprodurre fedelmente le capacità intellettive dell’uomo (con tutti i loro limiti) si contrappone
all’obbiettivo di realizzare sistemi capaci di razionalità (cioè di elaborare informazioni in modo ottimale) pre-
scindendo dai limiti della razionalità umana.
La ricerca scientifica e tecnologica nel campo dell’intelligenza artificiale iniziò tra gli anni ’40 e gli anni ’50. La nascita
dell’intelligenza artificiale viene solitamente ricondotta ad una celebre conferenza tenutasi a Dartmouth (New Hampshi-
re, USA), che riunì per un mese alcuni tra i principali esperti della materia. Lo scopo esplicito della riunione era lo studio
dell’intelligenza, partendo dall’ipotesi che ogni aspetto dell’apprendimento e dell’intelligenza possa essere descritto con una
precisione tale che si possano costruire macchine un grado di simularli. La tesi fondamentale che ispirava gli studiosi riuniti
a Dartmouth era l’ipotesi secondo cui l’intelligenza possa risultare dal funzionamento di un sistema che manipola strutture
simboliche (per esempio, sequenze di parole o numeri) producendo altre sequenze simboliche. Secondo gli stessi autori, un
sistema simbolico fisico ha i mezzi necessari e sufficienti per l’azione intelligente generale. Dato che ogni sistema di simboli
fisici può essere realizzato mediante una macchina universale, e dato che i moderni calcolatori sono macchine universali,
l’ipotesi che un sistema di simboli fisici sia capace di intelligenza implica che un calcolatore potrebbe dar vita
all’intelligenza (una volta che fosse dotato di un software adeguato e di sufficiente memoria). Secondo questa corrente di
pensiero non vi sarebbero limiti allo sviluppo dell’intelligenza automatica, si tratterebbe solo di sviluppare tecnologie
hardware e soprattutto software adeguate. In entrambe queste direzioni ci sono stati notevoli progressi.
Negli anni seguenti, la ricerca nel campo dell’intelligenza artificiale diede origine a numerosi risultati. Da un lato furono svi-
luppati numerosi sistemi intelligenti, cioè capaci di affrontare compiti apparentemente tali da richiedere intelligenza (il gioco
degli scacchi, la traduzione automatica dall’una all’altra lingua, ecc);; dall’altro lato furono realizzati alcuni strumenti che
facilitavano significativamente la realizzazione di sistemi intelligenti.
Questi successi condussero a previsioni esageratamente ottimistiche. Studiosi molto autorevoli si spinsero ad affermare che
entro uno o due decenni sarebbero state rese disponibili macchine capaci di raggiungere l’intelligenza umana. Tuttavia, il
lento sviluppo delle applicazioni di intelligenza artificiale smentì queste previsioni, infatti passare da applicazioni sperimen-
tali a sistemi utili per affrontare problemi reali si rivelò molto difficile. In particolare l’intelligenza artificiale non riuscì ad
affrontare in modo soddisfacente i compiti cognitivi (come la comprensione del linguaggio o l’identificazione di oggetti nel-
lo spazio) che l’uomo compie spontaneamente ed apparentemente senza sforzo.
Negli anni successivi l’attenzione passò pertanto al tentativo di risolvere problemi riguardanti ambiti specialistici, nei quali
la soluzione potesse essere ottenuta derivandola da un’ampia base di conoscenze riguardanti un particolare settore. Si tratta-
va quindi di realizzare sistemi esperti capaci di risolvere in modo intelligente, cioè utilizzando un’ampia base di conoscen-
ze, problemi che richiedessero una particolare competenza, come quella di cui è dotato un esperto umano. Si elaborarono
tecniche per la rappresentazione della conoscenza in forme tali da renderla elaborabile automaticamente, ed in questo senso
un certo rilievo ebbero i metodi per il ragionamento automatico ispirati alla logica (intesa come l’insieme dei metodi del ra-
gionamento corretto). Tra gli anni ’70 e ’80 furono realizzati numerosi sistemi esperti, ed alcuni di essi conseguirono risul-
tati significativi in diversi campi, come la diagnosi medica, l’analisi delle strutture molecolari o la progettazione di sistemi
informatici. In questi anni iniziarono anche i primi studi in materia di intelligenza artificiale e diritto, e non mancarono i ten-
tativi di realizzare sistemi esperti di diritto. Anche nell’ambito dei sistemi esperti ai primi entusiasmi fece seguito una pro-
fonda delusione:
- si dovette constatare che i sistemi realizzati non erano in grado di sostituire la prestazione di un professionista esper-
to, ma semmai di integrarne la competenza.
- emersero alcune difficoltà inerenti allo sviluppo ed alla maturazione dei sistemi esperti. In particolare, si constatava
che era difficile e costoso rappresentare la conoscenza nella forma richiesta da un sistema esperto (assai più rigida e
limitata rispetto al linguaggio umano) e mantenerla aggiornata, ed anche che non tutte le informazioni potevano es-
sere espresse in questo modo e che, una volta ridotte in tale forma, le informazioni non potevano essere impiegate
con la flessibilità di cui è capace l’intelligenza umana.
Vi è anche da dire che, da un certo punto di vista, la prospettiva dello sviluppo di sistemi esperti suscitava alcuni timori. Si
temeva, cioè, che l’uomo nel consegnare l’uso delle proprie conoscenze ad un sistema informatico venisse a rinunciare al
possesso di tali conoscenze, delegando le proprie attività intellettuali allo strumento elettronico. L’idea che la delega delle
nostre funzioni mentali a enti materiali possa avere effetti pregiudizievoli per lo sviluppo umano merita considerazione, spe-
cialmente con riferimento ai sistemi informatici intelligenti (cioè in grado di applicarsi da soli).
Nei primi anni ’90 vi fu quindi una profonda crisi delle ricerche di intelligenza artificiale, il cosiddetto inverno
dell’intelligenza artificiale, un clima di generale sfiducia nei confronti di questa disciplina.
Sempre nei primi anni ’90 le ricerche di intelligenza artificiale hanno incontrato Internet, che da un lato richiedeva applica-
zioni informatiche intelligenti e dall’altro offriva un’enorme quantità di informazione in formato digitale alla quale applicare
le tecniche di intelligenza artificiale (ad esempio, le tecniche di intelligenza artificiale hanno trovato impiego nei motori di
ricerca on-line).
Dalla fine degli anni ’90 la ricerca è ripresa con rinnovato vigore e non sono mancati significativi risultati, anche operativi,
in numerosi settori, tra i quali si possono ricordare:
- l’estrazione di informazioni da grandi masse di dati.
- la selezione di informazioni rilevanti o l’eliminazione di quelle irrilevanti con tecniche intelligenti.
- l’interpretazione degli esami medici e la consulenza medica.
- la traduzione automatica.
- i giochi virtuali.
- la gestione di operazioni militari.
- il riconoscimento di immagini e movimenti.
- i robot fisici, utilizzati nell’esplorazione di regioni inospitali della Terra o dello Spazio ed anche nelle attività indu-
striali, nelle pulizie domestiche, ecc.
- l’intelligenza ambientale.
La struttura informatica utilizzata per riprodurre questo tipo di apprendimento è la rete neurale:
- i neuroni artificiali riproducono informaticamente la struttura dei neuroni presenti nel nostro cervello.
- ogni neurone riceve segnali dai neuroni ad esso connessi, segnali che viaggiano seguendo determinati collegamenti.
- ai collegamenti tra i neuroni sono assegnati pesi, cioè coefficienti in base ai quali i segnali passanti attraverso i col-
legamenti sono amplificati o ridotti.
- il funzionamento di ogni neurone è stabilito da funzioni logico-matematiche. Il neurone, quando riceve determinati
segnali, verifica se questi segnali abbiano raggiunto il livello (la soglia) richiesta per la propria attivazione; se il li-
vello non è stato raggiunto il neurone rimane inerte, mentre se il livello è stato raggiunto il neurone si attiva invian-
do a sua volta segnali ai neuroni connessi con esso.
Combinando i neuroni otteniamo una rete neurale:
- alcuni neuroni della rete ricevono input dall’esterno (ad esempio, da una base di dati, da una telecamera che riceva
immagini dall’ambiente, da una tavoletta sulla quale si tracciano disegni e caratteri, ecc).
- alcuni neuroni della rete, detti neuroni nascosti, sono collegati solo con altri neuroni.
- alcuni neuroni della rete inviano il loro output all’esterno della rete.
La tecnica più comune per addestrare una rete neurale consiste nel proporre alla rete una serie di esempi corretti, cioè una
serie di coppie di input e di output, dove l’output indica il risultato corretto per l’input corrispondente. L’elaborazione degli
esempi avviene nel modo seguente. Il sistema determina la propria risposta rispetto all’input indicato nell’esempio, e se la
risposta differisce dall’output dell’esempio la rete si riorganizza combinando la propria configurazione (i collegamenti ed i
pesi associati ad essi) in modo da poter dare la risposta corretta (la stessa indicata nell’esempio) di fronte alla riproposizione
dello stesso input. Dopo un conveniente addestramento, la rete acquista l’abilità di dare risposte corrette non solo nei casi
contenuti nell’insieme degli esempi, ma anche nei casi analoghi.
In ambito giuridico, le reti neurali sono solitamente addestrate mediante casi giudiziari;; l’obbiettivo è allenare la rete in
modo che essa possa riprodurre le risposte date dai giudici nei precedenti e rispondere analogamente nei casi simili.
Tra le non molte applicazioni del modello delle rete neurale in ambito giuridico, si può ricordare il sistema Split-up, cui è
stato affidato il compito di ripartire il patrimonio tra gli ex coniugi in seguito ad un divorzio. Gli autori del sistema furono
indotti ad utilizzare la tecnica delle reti neurali in quanto, dall’analisi della legislazione e delle sentenze, non avevano rinve-
nuto regole precise la cui applicazione logica ai fatti dei casi potesse condurre alle soluzioni adottate dai giudici. In materie
di questo tipo i giudici sembrano infatti operare in base ad un’intuizione allenata piuttosto che secondo regole precise, si
tratta di un’intuizione informata dalla conoscenza dei casi precedenti e dalle esperienze dello stesso decisore. Nella rete
Split-up, i neuroni di input rappresentano i fattori rilevanti nella decisione dei casi in questione (i dati di input sono il contri-
buto dei coniugi alla formazione del patrimonio e l’ammontare del patrimonio stesso), ed i neuroni di output indicano le
possibili divisioni del patrimonio. Secondo gli autori del sistema, tale semplice rete, dopo essere stata allenata sottoponendo-
le alcune centinaia di casi precedenti, sarebbe divenuta capace di riprodurre le decisioni dei casi passati e avrebbe acquistato
la capacità di prevedere con sufficiente precisione le decisioni dei casi futuri.
L’uso delle reti neurali nell’applicazione del diritto è stato finora assai limitato. Un’importante ragione di ciò sta nel fatto
che le reti neurali, anche quando indicano soluzioni giuridiche plausibili, non offrono una giustificazione di tali soluzioni,
nel senso che non indicano quali premesse conducano al particolare risultato proposto. Ciò è dovuto al fatto che la cono-
scenza utilizzata da una rete neurale è implicita nella struttura della rete (nelle connessioni neurali e nei pesi associati ad es-
se), non è formulata in proposizioni esplicite.
Secondo il parere di Sartor, le reti neurali artificiali oggi disponibili hanno una capacità molto limitata nel ricevere e
nell’elaborare le esperienze (esse sono assai semplici se paragonate alla complessità delle strutture neurali del cervello uma-
no). Questi limiti consigliano una grande cautela nell’impiego di reti neurali, ma non ne escludono il possibile utilizzo per
problemi circoscritti
Un altro modello di sistema informatico usato nell’ambito dell’intelligenza artificiale è quello basato sull’utilizzo esplicito
della conoscenza, mediante metodi per il ragionamento automatico (questo è anche il modello prevalente). A questo fine
bisogna che il sistema informatico disponga di due componenti: una rappresentazione della conoscenza rilevante e metodi
per il ragionamento automatico applicabili a tale rappresentazione.
La caratteristica essenziale dei sistemi basati sulla conoscenza consiste nel fatto che il loro funzionamento, cioè il modo in
cui affrontano i problemi loro affidati, si basa sull’utilizzo di una base di conoscenza. Tale base di conoscenza consiste in
un insieme di informazioni specialistiche, attinenti all’ambito in cui tali sistemi debbono operare.
I sistemi basati sulla conoscenza sono spesso identificati con i cosiddetti sistemi esperti, cioè i sistemi intesi a fornire fun-
zionalità che richiedono una specifica competenza professionale. Un sistema basato sulla conoscenza è indubbiamente un
sistema esperto, nel senso che esso svolge funzioni basate su conoscenze specialistiche che solo un esperto possiede. Ciò
non significa però che esso sia un vero esperto, cioè che possa svolgere da solo un’intera prestazione professionale, com-
prensiva di tutte le funzioni che si affiderebbero all’esperto umano. Questo obbiettivo non è realizzabile con le tecnologie
disponibili oggi e nemmeno nel vicino futuro. Anche in un futuro più lontano un esperto automatico rimarrà privo delle ca-
pacità cognitive legate alla condizione umana (ad esempio, la capacità di immedesimarsi nella posizione dell’altro, di co-
glierne gli stati psicologici, i ragionamenti, i bisogni, e quindi di apprezzare pienamente gli interessi e valori in gioco). Si
potranno invece affidare all’elaborazione automatica particolari fasi o momenti delle attività giuridiche che si affiancano e si
integrano a quelli affidati all’uomo.
Il tipo di ragionamento più frequente in ambito giuridico è l’applicazione di regole. Per regola, in questo contesto, non si
intende un enunciato che qualifichi come obbligatorio, vietato o permesso un certo comportamento, ma un enunciato condi-
zionale che collega un antecedente ed un conseguente consentendo di inferire il secondo dal primo (la fattispecie astratta è
l’antecedente della regola e la conseguenza giuridica astratta ne è il conseguente). I sistemi basati su regole costituiscono il
tipo più semplice e diffuso di sistema basato sulla conoscenza: tali sistemi contengono una base di conoscenza costituita da
regole, ed un motore di inferenza che applica tali regole ai dati di fatto attinenti ai casi concreti (le informazioni attinenti ai
casi possono essere fornite dall’utilizzatore umano del sistema od estratte da archivi informatici).
L’importanza di tali sistemi (ideati a partire dagli anni ‘70) consiste nella possibilità di applicare un numero elevato di rego-
le, addirittura decine di migliaia, tenendo conto dei collegamenti tra di esse, ed in questo modo essi possono colmare i limiti
della memoria, dell’attenzione e della capacità combinatoria dell’uomo. Il modello del sistema basato su regole ha trovato
applicazione in numerosi ambiti (concessione di crediti, determinazione di polizze assicurative, ecc).
I risultati operativi ottenuti in ambito giuridico mediante sistemi basati sulla conoscenza furono inizialmente inferiori alle
attese. Negli ultimi anni, però, queste iniziali delusioni sono state seguite da alcuni importanti successi, in particolare
nell’ambito della pubblica amministrazione. La ragione fondamentale di questo cambiamento è da ritrovarsi soprattutto
nell’avvento di Internet;; il Web rappresenta, infatti, un modo aperto dove un sistema può essere utilizzato da un numero il-
limitato di utenti, e le funzioni di un sistema possono essere integrate con quelle offerte da altri sistemi.
Le pubbliche amministrazioni e, più in generale, i soggetti che forniscono servizi pubblici hanno iniziato ad usare Internet
per fornire informazioni ai cittadini (normalmente si tratta di materiale di presentazione dell’ente e delle sue funzioni, cui si
accompagna la possibilità di scaricare documenti di vario genere, come testi normativi, manuali di istruzioni, moduli, ecc). I
sistemi basati sulla conoscenza possono apportare un’importante progresso nell’uso di Internet da parte della pubblica am-
ministrazione: essi non si limitano a fornire documenti, ma impiegano le regole associate ai documenti per agevolare lo
svolgimento delle relative attività amministrative (ad esempio, stabilire quali obblighi e diritti spettino ai cittadini in base
alla legge, stabilire se il cittadino possegga i requisiti per accedere ad un certo servizio pubblico, ecc). I sistemi basati sulla
conoscenza non sono quindi esperti automatici in grado di sostituirsi al funzionario pubblico, ma piuttosto strumenti che
forniscono un aiuto intelligente al richiedente del servizio o al funzionario che lo gestisce. Si tratta di un aiuto che può inte-
grarsi con funzionalità informatiche ulteriori (ad esempio, la ricerca di documenti, la fornitura di moduli, la loro predisposi-
zione automatica, ecc).
I sistemi basati sula conoscenza possono essere utilmente impiegati solo grazie all’integrazione delle seguenti attività:
- l’attività dell’esperto informatico-giuridico che si occupa dell’inserimento, correzione e revisione (nel caso di er-
rori o della necessità di tener conto di nuove informazioni) delle regole, assicurando che la base di conoscenza non
contenga errori di diritto.
- l’attività del cittadino o del funzionario che inseriscono i dati sui casi concreti.
- l’attività del sistema, che si occupa della derivazione delle conseguenze deducibili dalle regole in esso comprese e
dei dati di fatto ad esso forniti o a cui abbia accesso.
I sistemi che applicano automaticamente regole preesistenti nella loro base di conoscenza trovano le maggiori applicazioni
nell’ambito della pubblica amministrazione. Essi non sono in grado di affiancare il giurista nelle attività che formano la par-
te centrale del suo pensiero, che consiste nell’affrontare i casi controversi.
Vi è da notare che alla riduzione del ragionamento giuridico al modello sillogistico si oppongono alcune fondamentali carat-
teristiche del diritto: le fonti del diritto spesso non forniscono norme sufficienti a disciplinare tutti gli aspetti del caso, com-
prendono norme che si contraddicono o il cui contenuto rimane indeterminato. L’uso di sistemi basati su regole in ambito
giuridico presupporrebbe l’accettazione del modello sillogistico del ragionamento giuridico, l’idea che il diritto si riduca a
un’insieme di regole e che il ragionamento giuridico consista nell’applicazione meccanica di tali regole. Questo errore tecni-
co determinerebbe l’inutilità pratica di tali sistemi: non rappresentando fedelmente il diritto ed il ragionamento giuridico, es-
si sarebbero inutili ed anzi dannosi, conducendo necessariamente a risultati scorretti o irragionevoli.
Parlando delle tendenze delle ricerche di informatica giuridica degli ultimi anni, possiamo illustrare una particolare direzio-
ne di ricerca: il tentativo di sviluppare nuovi modelli formali dell’argomentazione giuridica. L’idea che sta alla base di
queste ricerche è che sia possibile predisporre strumenti logici ed informatici capaci di affrontare la dialettica del ragiona-
mento giuridico, superando i limiti del ragionamento sillogistico.
A questo riguardo dobbiamo distinguere due diversi tipi di schema di ragionamento (e di corrispondenti inferenze):
- schemi conclusivi. Accettando le premesse di un’inferenza conclusiva ne dobbiamo necessariamente accettare an-
che le conclusioni.
- schemi defeasible (rivedibili o ritrattabili). Pur accettando le premesse di un’inferenza defeasible possiamo re-
spingerne le conclusioni. Un’inferenza defeasible è un argomento che si impone alla nostra ragione, ma solo in mo-
do provvisorio, cioè solo a condizione che non emergano eccezioni, contro-esempi, argomenti contrari di importan-
za preminente, ecc.
Possiamo distinguere due modi in cui un ragionamento defeasible può essere contrastato:
- il rebutting (contraddire), che consiste nell’opporre al nostro argomento A un contro-argomento B che contrad-
dice la conclusione di A, perciò la conclusione di B nega, o comunque è incompatibile, con la conclusione di A.
- l’undercutting (recidere), che consiste nell’opporre al nostro argomento A un contro-argomento B che nega la
forza argomentativa di A, perciò B afferma che le premesse di A sono inidonee a fondarne la conclusione.
L’accoglimento delle premesse di un argomento defeasible non è sufficiente a garantire l’accettabilità della sua con-
clusione, a tale fine dobbiamo anche considerare se esistano contro-argomenti che contraddicano o recidano il no-
stro argomento, e solo se tutti i contro-argomenti possono essere superati alla luce di considerazioni ulteriori la con-
clusione dell’argomento risulta giustificata.
Il ragionamento giuridico consiste nella dialettica tra argomenti e contro-argomenti, e tale dialettica fa si che il ragiona-
mento giuridico sia defeasible, in quanto le conclusioni che appaiono giustificate alla luce di certi argomenti possono essere
rese inefficaci di argomenti ulteriori. L’idea fondamentale che caratterizza i tentativi di costruire modelli formali della dia-
lettica giuridica è quella di affrontare situazioni nelle quali vi sono numerosi argomenti in gioco. Le logiche degli argomenti
sono state usate per realizzare sistemi informatici che, anziché limitarsi a fornire una risposta univoca ai quesiti loro propo-
sti, elaborino giustificazioni per la soluzione di punti controversi, suggeriscano argomenti possibili, valutino lo stato degli
argomenti alla luce dell’architettura argomentativa complessiva risultate dalle informazioni fornite al sistema. La realizza-
zione di tali sistemi richiede metodi che riproducano i passi tipici del ragionamento giuridico.