Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a...

54
Universit ` a degli Studi di Firenze Facolt` a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici 19 Settembre 2006 Copyleft e software a codice aperto: un’ analisi giuridica e un approfondimento tecnico Relatore: Autore: Prof. Dino Giuli Iacopo Masi Tutore: Avv. Marina Da Bormida Anno Accademico 2006-2007

Transcript of Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a...

Page 1: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Universita degli Studi di Firenze

Facolta di Ingegneria

Corso di Laurea in

Ingegneria Informatica

Tesina Sistemi Telematici19 Settembre 2006

Copyleft e software a codice aperto:

un’ analisi giuridica e un

approfondimento tecnico

Relatore: Autore:

Prof. Dino Giuli Iacopo Masi

Tutore:

Avv. Marina Da Bormida

Anno Accademico 2006-2007

Page 2: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

“Fare giocosamente qualcosa di difficile

che sia utile oppure no

questo e hacking.”

R. Stallman

Page 3: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

i

Licenza

L’opera e rilasciata sotto le clausole della licenza Creative Commons Public

License Attribuzione - NonCommerciale - CondividiAlloStessoModo

2.5 Italia per volonta dell’autore.

Ecco un sunto di quello che e possibile fare. Tu sei libero:

• di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico,

rappresentare, eseguire e recitare quest’opera

• di modificare quest’opera

Alle seguenti condizioni:

• Attribuzione. Devi attribuire la paternita dell’opera nei modi indicati

dall’autore o da chi ti ha dato l’opera in licenza.

• Non commerciale. Non puoi usare quest’opera per fini commerciali.

• Condividi allo stesso modo. Se alteri o trasformi quest’opera, o se la

usi per crearne un’altra, puoi distribuire l’opera risultante solo con una

licenza identica a questa.

• Ogni volta che usi o distribuisci quest’opera, devi farlo secondo i termini

di questa licenza, che va comunicata con chiarezza.

• In ogni caso, puoi concordare col titolare dei diritti d’autore utilizzi di

quest’opera non consentiti da questa licenza.

Le utilizzazioni consentite dalla legge sul diritto d’autore e gli

altri diritti non sono in alcun modo limitati da quanto sopra.

Questo e un riassunto in linguaggio accessibile a tutti del Codice Legale (la

licenza integrale) che e disponibile alla pagina web:

http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode.it

Page 4: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Indice

Indice ii

Elenco delle figure iv

Introduzione v

I Analisi Giuridica 1

1 Differenza tra diritti d’autore, copyright, brevetti 2

2 Copyleft 7

2.1 Etimologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Il concetto di copyleft . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1 Cenni Storici sul copyleft . . . . . . . . . . . . . . . . . . 9

3 Licenze copyleft 11

3.1 Funzionamento e validita . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1 GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1.2 LGPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2 Esempi di licenze non tutelate dal copyleft . . . . . . . . . . . . 15

4 Confronto tra due licenze di sistemi operativi 16

4.1 Licenza d’uso di Windows XP . . . . . . . . . . . . . . . . . . . 17

4.2 Licenza di Ubuntu Linux . . . . . . . . . . . . . . . . . . . . . . 20

4.2.1 Filosofia . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 5: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

INDICE iii

4.2.2 Ubuntu License Policy . . . . . . . . . . . . . . . . . . . 21

II Analisi Ingegneristica 25

5 Le tipologie di software 26

5.1 Il software libero . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2 Il software opensource . . . . . . . . . . . . . . . . . . . . . . . 29

5.3 Differenza tra software libero/opensource . . . . . . . . . . . . . 30

6 Il modello di produzione del software a codice aperto 32

6.1 Vantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.2 Svantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7 Confronto tra software proprietario e libero 35

7.1 Usabilita del software . . . . . . . . . . . . . . . . . . . . . . . . 36

7.2 Produzione di altro software . . . . . . . . . . . . . . . . . . . . 37

7.3 Telematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7.4 Pubblica Amministrazione . . . . . . . . . . . . . . . . . . . . . 42

Conclusioni 44

Bibliografia 46

Page 6: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Elenco delle figure

4.1 Il simbolo di Windows XP . . . . . . . . . . . . . . . . . . . . . 16

4.2 Il simbolo di Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . 20

5.1 Tutti i tipi di software . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 Il simbolo del progetto GNU . . . . . . . . . . . . . . . . . . . . 29

5.3 Il logo dell’OpenSource Initiative . . . . . . . . . . . . . . . . . 30

7.1 Un design pattern, lo State, applicato in un progetto di software

libero, creato con Umbrello UML Modeller . . . . . . . . . . . . 39

7.2 Il logo di Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7.3 Il logo di Apache Software Foundation . . . . . . . . . . . . . . 42

Page 7: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Introduzione

Questa trattazione approfondisce il concetto di copyleft e la sua applicazione

ad un bene innovativo ed intangibile: il mondo del software. La problematica

della tutela dei diritti sul software e di forte attualita nel mondo contempora-

neo, dove ci si trova di fronte all’esigenza di tutelare beni digitali intangibili

come questo. Poiche il campo d’applicazione del copyleft e il software, e ne-

cessario stilare una definizione di questo concetto, usato frequentemente in

seguito.

Un’ ottima definizione di software e la seguente: il software inteso sia come

sistema operativo, che come driver, che come applicativo corrisponde sia al-

l’insieme delle istruzioni in linguaggio macchina necessarie ad un elaboratore

elettronico per eseguire una determinata funzione o programma (codice esegui-

bile); sia all’insieme delle istruzioni scritte dal programmatore per far eseguire

una funzione ad un elaboratore (codice sorgente). Il passaggio da codice sor-

gente a codice eseguibile e effettuato attraverso un metasoftware 1 chiamato

compiler. Il processo di trasformazione dal codice sorgente al codice eseguibile

e in teoria unidirezionale, anche se in pratica esistono dei decompilatori, con

i quali si riesce a risalire al codice sorgente sulla base dei files binari. Questa

ultima tecnica e detta reverse engineering e non e sempre del tutto attuabile

a causa delle restrizioni delle licenze proprietarie.

Nella relazione si approfondisce come viene applicato il modello del copyleft

alla sfera del software e successivamente si analizza due tipologie di software:

il software libero e il software opensource, che, per brevi sfumature, non rap-

1software utilizzato per creare altro software

Page 8: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

vi

presentano la medesima cosa. In particolare la trattazione viene strutturata

in due direzioni con uno sforzo per combinare l’aspetto giuridico con quello

tecnico: nel capitolo 1 infatti si chiarisce la differenza tra copyright, diritto

d’autore e brevetto, per argomentare nel capitolo 2.2 il fenomeno del copyleft

con relativi rapporti/inquadramenti rispetto al mondo legale e giuridico del

diritto americano e italiano. Nel capitolo 4 si e inserito una parte finale prati-

ca di confronto tra due licenze di sistemi operativi antitetici: Windows XP e

Ubuntu Linux.

Tutta questa prima stesura e stata possibile grazie al seminario dell’ Avv.

Marina Da Bormida, che ha fornito un contributo sostanziale, e al supporto

fornito dal libro “Teoria e pratica del Copyleft” di Simone Alipradi [1] insieme

a tutti gli aritcoli di copyleft-italia.it.

La seconda parte invece, frutto degli studi ingegneristici, tratta in maniera tec-

nica i vantaggi del software libero e del modello di sviluppo (software) open-

source nel Capitolo 6, raffrontandolo con il modello proprietario. In quest’

ottica si usano come metro di valutazione soprattutto la flessibilita, la porta-

bilita e la sicurezza nell’ uso e nella produzione del software, in dettaglio nel

Capitolo 7.

Page 9: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Parte I

Analisi Giuridica

1

Page 10: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 1

Differenza tra diritti d’autore,

copyright, brevetti

Prima di riuscire a parlare comprensibilmente di copyleft e necessario dare del-

le definizioni riguardo alla gestione dei diritti in ambito giuridico, cercando di

eliminare la confusione che viene fatta tra brevetto, copyright e diritti d’autore.

Infatti solo capendo a fondo il diritto d’autore e possibile concepire la gestione

dei diritti tramite copyleft. Si andra a definire ogni singolo concetto, incentran-

dosi maggiormente sul diritto d’autore, sottolineando, quindi, le sfumature che

divide questo dal copyright o eliminando la confusione nell’associare questo al

brevetto.

Diritto d’autore e quel diritto riconosciuto dall’ordinamento dello Stato a

colui che abbia realizzato un’opera dell’ingegno a carattere creativo; in

Italia e disciplinato dalla legge n. 633/1941 e successive modifiche. In

ordine di tempo una delle ultime proviene dalla legge 22 maggio 2004,

n. 128. In particolare l’Art.1 riporta: “Sono protette ai sensi di que-

sta legge le opere dell’ingegno di carattere creativo che appartengono alla

letteratura, alla musica, alle arti figurative, all’architettura, al teatro ed

alla cinematografia, qualunque ne sia il modo o la forma di espressione.

Sono altresı protetti i programmi per elaboratore come opere letterarie ai

sensi della convenzione di Berna sulla protezione delle opere letterarie

Page 11: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

3

ed artistiche ratificata e resa esecutiva con legge 20 giugno 1978, n. 399,

nonche le banche di dati che per la scelta o la disposizione del materiale

costituiscono una creazione intellettuale dell’autore”. 1

L ’oggetto del diritto d’autore e un bene immateriale, ben distinto dal

possesso del mero supporto (cartaceo, fisico, meccanico, magnetico, di-

gitale) sul quale l’opera e fruibile. Il supporto in quanto tale e infatti di

proprieta di chi lo acquista (avendone pagato il prezzo per supporto e

diritti), ma il diritto d’autore continua a sussitere, percio il proprietario

del supporto non ha facolta illimitata di utilizzo, bensı solo quelle facolta

di utilizzo che residuano dal diritto immateriale spettante all’autore se-

condo la legge. E’ bene notare, sfatando eventuali miti che, il diritto

d’autore nasce al momento della creazione dell’opera, che il nostro codi-

ce civile identifica, un po’ cripticamente, in “una particolare espressione

del lavoro intellettuale”. Vi e in realta un incentivo al deposito che pero

non e la prassi, come sottolinea Simone Aliprandi in [1].

E bene sottolineare che le norme sul diritto d’autore regolano il diritto

di:

• riprodurre

• trascrivere

• comunicare al pubblico

• distribuire

Tutti i diritti elencati sono indipendenti l’uno dall’altro, il che significa

che l’esercizio di uno non esclude l’esercizio di tutti gli altri; inoltre tali

diritti riguardano sia l’opera nel suo insieme che in ciascuna delle sue

parti.

Comunque in sintesti il diritto d’autore in Italia e nei sistemi Civil Law

dell’ Europa consiste di due elementi fondamentali:

1. Diritti Morali, che rimangono sempre di paternita dell’ autore

1www.giustizia.it/cassazione/leggi/l63341.html

Page 12: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4

2. Diritti Economici o Patrimoniali, che possono formare oggetto di

cessione 2

I diritti morali dell’autore mirano a tutelare la personalita dell’autore e

l’attivita in cui si materializza la sua creativita. Si specificano in una

serie di facolta, in particolare:

• diritto alla paternita dell’opera

• diritto all’integrita dell’opera

• diritto di inedito

• diritto di ritiro dell’ opera per gravi ragioni morali, cioe il diritto di

pentimento.

Per quanto riguarda i diritti economici come si legge dall’ art.25 della

Legge 633/1941 “i diritti di utilizzazione economica dell’opera durano

tutta la vita dell’autore e sino al termine del settantesimo anno solare

dopo la sua morte”. Estinti i diritti economici, l’opera diviene di pubblico

dominio ed e liberamente utilizzabile da chiunque, anche a fini economi-

ci, purche sia rispettato il diritto morale alla titolarita artistica.

Poiche la trattazione e incentrata sulla tutela del diritto del software

tramite copyleft e importante sottolineare che ai diritti patrimoniali sul

software sono state dedicate norme specifiche, ossia gli artt.64 bis, 64

ter e 64 quarter della Legge 633/1941 che si conformano alla Direttiva

n 250/1991/CEE, come riportato da Da Bormida in [2]. I diritti esclu-

sivi sui programmi per elaboratori comprendono il diritto di effettuare e

autorizzare:

• la riproduzione temporanea o permanente

• la traduzione, l’adattamento

• qualsiasi forma di distribuzione al pubblico compreso la locazione

2e proprio su questo diritto di cessione che si fonda il copyleft

Page 13: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

5

Copyright Nel gergo comune si utilizzano spesso indistintamente le espres-

sioni copyright e diritto d’autore, a discapito della sostanziale differenza

esistente tra i due, a partire dallo stesso sostrato social-economico in cui

gli stessi sono stati generati.Si puo generalmente dire che il concetto di

diritto d’autore e sostanzialmente piu vasto del copyright. Questo perche

la matrice del copyright e di stampo anglo-americana, cioe dei cosidetti

sistemi Common-Law ed e nato per tutelare l’industria culturale negli

States. L’etimologia della parola gia svela la sostanziale differenza tra

copyright (diritto a copiare3) e diritto d’autore. In questo senso il copy-

right ha una particolare vocazione nel tutelare in primis l’interesse del

soggetto imprenditoriale, lasciando in secondo piano le caratteristiche

di tutela della creativita e originalita. Il diritto d’autore, partorito in

Europa, fa un passo in piu: l’attenzione della normativa si sposta verso

la sfera dell’autore e non verso la sfera del commericio; in questo senso

il diritto d’autore e piu ampio del copyright, perche aggiunge anche i

cosidetti diritti morali incedibli.

3cioe di riprodurre in larga scala un determinato bene sul mercato

Page 14: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

6

Brevetto e un titolo giuridico in forza, al quale viene conferito una sorta

di monopolio temporaneo di sfruttamento dell’invenzione per un perio-

do ben determinato, al fine di impedire ad altri di produrre, vendere o

utilizzare la propria invenzione senza autorizzazione. Per invenzione si

intende una soluzione nuova ed originale di un problema tecnico che ri-

guarda un prodotto o un processo di produzione. A differenza del diritto

d’autore, il brevetto richiede una registrazione presso appositi uffici. Vi

e comunque un profilo che accomuna il brevetto al diritto d’autore, cioe

il fatto che in entrambi i casi l’autore o l’inventore sono titolari di un

diritto di privativa.Nonostante sussista una grossa differenza tra questi

due concetti, spesso vengono usati in modo improprio; recentemente vi

e stato anche un forte dissenso in Europa, sulla questione di applicare il

brevetto anche a opere immateriali come il software, che , a mio avviso,

risulta una creazione intellettuale tutelabile solo da diritto d’autore.

Page 15: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 2

Copyleft

In questa sezione si tratta il concetto di copyleft, dopo aver chiarito varie am-

biguita e dopo aver definito nello specifico il diritto d’autore, da cui il copyleft

prende vita.

2.1 Etimologia

Il termine copyleft, secondo quanto afferma Richard Stallman, brillante ricer-

catore informatico del MIT nonche padre del copyleft stesso, fu coniato per

ribaltare la tradizionale frase “copyright - tutti i diritti riservati”.

Comunque ci sono problemi nel dare una definizione al termine copyleft per la

controversia che lo caratterizza. Il termine, creato come un’affascinante con-

troparte del termine copyright, originariamente un sostantivo, indica il tipo

di gestione dei diritti alternativo al copyright, ma che si basa su questo. Puo

essere letto come copy left cioe permesso di copia oppure come antitesi1 al

copyright, anche se non e l’accezione piu corretta.

1right - destra contro left - sinistra

Page 16: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

2.2 Il concetto di copyleft 8

2.2 Il concetto di copyleft

L’espressione inglese copyleft, apparente gioco di parole su copyright, indica un

modello alternativo di gestione dei diritti d’autore rispetto alla prassi tradizio-

nale. Seguendo questo modello l’autore tutela oltre che i suoi diritti in primis

anche la liberta dell’opera stessa e degli utilizzatori grazie ad una licenza o

contratto.

Con il termine copyleft in generale si indica non sola la clausola di persistenza

dei diritti concessi da una licenza, ma un fenomeno sociale e un modello di

una cultura informatica nata negli anni 80.2

Il funzionamento del copyleft quindi e subordinato alla valenza del diritto d’au-

tore ed e grazie a quest’ultimo che puo esistere.

Si potrebbe opinare che il copyleft coincida con il concetto di no copyright

inteso come totale rifiuto della normativa sul diritto d’autre; questa argomen-

tazione e pero errata: supponiamo di pubblicare un software sotto pubblico

dominio e di non avvalersi del diritto d’autore; il software appartiene alla co-

munita, ma poiche non ci sono restrizioni chiunque, anche un’ azienda, spinta

da logiche di mercato, potrebbe impadronirsi del software, acquistandolo e at-

tribuendosi i diritti esclusivi su quell’oggetto. 3.

E’ proprio il diritto d’autore che garantisce all’ideatore dell’opera la

possiblita di esercitare in via esclusiva dei diritti, che nel modello

copyleft vengono ceduti quasi in blocco (solo quelli patrimoniali) ad

altri soggetti: viene dato loro oltre che il tradizionale diritto di uti-

lizzo, il diritto alla modifica e alla ridistribuzione a patto che venga

mantenuta la stessa licenza.

2Per alcuni cenni sulla nascita del copyleft si rimanda al capitolo successivo3A tal riguardo si rimanda alla creazione del kernel derivato da Unix del sistema operativo

Mac Os X della societa Apple trattato nel capitolo 3.2

Page 17: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

2.2 Il concetto di copyleft 9

2.2.1 Cenni Storici sul copyleft

Se la nascita del concetto di copyleft risale agli anni 80 4, allora l’humus su cui

e cresciuto il copyleft e l’avvento della grande rete, Internet. Con essa agli inizi

degli anni 90 e stato possibile comunicare e scambiare informazioni in maniera

rivoluzionaria.

Come si legge anche in Wikipedia [3], la storia del copyleft ha inizio quando

Richard Stallman, il fondatore della Free Software Foundation, stava svilup-

pando un software [un interprete Lisp]. L’azienda Symbolics chiese di poter

utilizzare l’interprete Lisp e Stallman accetto di fornire loro una versione di pu-

blic domain della sua opera. Symbolics estese e miglioro l’interprete Lisp, ma

quando Stallman volle accedere ai miglioramenti che Symbolics aveva appor-

tato al suo interprete, Symbolics rifiuto. Cosı Stallman, esattamente nel 1984,

inizio a lavorare per sradicare questo tipo di comportamento, che egli chiamo

accaparramento del software cioe in inglese software hoarding. Dal momento

che Stallman riteneva improbabile di eliminare a breve termine sia le norme in

materia di copyright sia le ingiustizie del public domain, decise di lavorare al-

l’interno dell’ambito delle leggi vigenti negli Stati Uniti. Cosı facendo creo una

sua propria licenza, la GNU-GPL (GNU - General Public License), la prima

licenza di tipo copyleft, che riusciva a sfruttare il diritto d’autore per trarre

vantaggi ( come affermato in 2.2 ), fondando la Free Software Foundation e

il movimento GNU (Gnu is Not Unix). Lo scopo era quello di dar vita ad

un sistema operativo completamento libero in contrapposizione al monopolio

del software che stava nascendo in quegli anni, a capo del duopolio Microsoft

e Intel. Per la prima volta nella storia del software, infatti, il detentore del

diritto d’autore poteva, se lo desiderava, assicurare che il massimo numero di

diritti si trasferisse in maniera perpetua agli utenti del software, a prescindere

da quali modifiche sarebbero successivamente state apportate da chiunque al

programma originale. La licenza GNU GPL fino alla contemporanea e an-

cora sotto revisione, versione 3.0, che tocca nuovi aspetti quali DRM (Digital

4quelli dell’esplosione del mondo delle macchine intese non piu come strumento scientifico,

ma come “Personal Computer”

Page 18: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

2.2 Il concetto di copyleft 10

Rights Management) 5, e un applicazione del modello del copyleft al mondo del

software. Questa licenza verra presa in esame nel dettaglio nel capitolo 3.1.1.

Naturalmente questo concetto e stato diffuso a livello mondiale anche grazie

all’avvento dei sistemi informatici digitali di larga scala come il fenomeno di

massa quale Internet e attraverso lo sviluppo delle telecomunicazioni: questi

fattori hanno permesso la creazione di vere comunita dove e possibile costruire

software secondo questa modalita derivata dalla cultura hacker 6

5Con Digital Rights Management, il cui significato letterale e gestione dei diritti digitali, si

intendono i sistemi tecnologici mediante i quali i titolari di diritti d’autore possono esercitare

ed amministrare tali diritti nell’ambiente digitale, grazie alla possibilita di rendere protetti,

identificabili e tracciabili tutti gli usi in rete di materiali adeguatamente “marchiati”.6NB: Un hacker e una persona che si impegna nell’affrontare sfide intellettuali per aggirare

o superare creativamente le limitazioni che gli vengono imposte, non limitatamente ai suoi

ambiti d’interesse (che di solito comprendono l’informatica o l’ingegneria elettronica), ma

in tutti gli aspetti della sua vita. Esiste un luogo comune, usato soprattutto dai media (a

partire da gli anni ’80), per cui il termine hacker viene associato ai criminali informatici (la

cui definizione piu appropriata e pero cracker).

Page 19: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 3

Licenze copyleft

Sostanzialmente nella precedente sezione, si e parlato del concetto del copyleft.

Adesso si illustra la sua applicazione piu conosciuta, cioe l’applicazione del co-

pyleft al mondo del software. Si e cercato infatti fino ad ora di differenziare

tra il copyleft come modello e l’applicazione di esso.

3.1 Funzionamento e validita

Anche nel modello copyleft come in quello copyright lo strumento giuridico per

la trasmissione dei diritti d’autore e un contratto, nel senso classico di “accordo

tra due o piu parti per costituire, regolare o estinguere un rapporto giuridico

patrimoniale”. Il modello copyleft comunque mantiene una particolarita: se

nel modello del copyright vi erano dei soggetti piu determinati come l’autore e

l’editore, nel modello copyleft si ha un solo soggetto determinato, cioe colui che

decide di applicare una licenza copyleft rispetto alla sua opera (software) , che

viene denominato licenziante. Dall’altra parte invece abbiamo un soggetto

estremamente indeterminato che va sotto l’ampia definizione del licenziata-

rio, che puo essere identificato come qualsiasi utente dell’opera.

L’originalita del modello copyleft e la sua pragmatica applicazione ha portato

ad un rovesciamento degli schemi tipici del tradizionale modello, in quanto ogni

Page 20: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

3.1 Funzionamento e validita 12

utente finale puo essere contemporaneamente licenziatario, ma anche licen-

ziante, se decide di modificare l’opera, oltre che di usarla. Questo particolare

dinamismo tra licenziatrio/utente e licenziante/autore e da evidenziare per-

che nel mondo della produzione del software puo portare ad un miglioramento

nella correzione dei bugs non indifferente, se paragonato al collaudato sistema

proprietario. Questo argomento verra approfondito nella sezione tecnica, evi-

denziando i vantaggi di software rilasciato attraverso lo specifico modello del

copyleft. Tornando al funzionamento delle licenze copyleft e dato per scontato

che gli attori che stipulano un contratto, seguano il modello uno a molti (li-

cenziante/licenziatario), si definisce il termine licenza come un atto unilaterale

giuridico, originario del diritto amministrativo, con cui un soggetto concede

un’ autorizzazione a compiere una determinata attivita. Il copyleft pero non

ha niente a che vedere con il diritto amministrativo, ma con il diritto privato.

La spiegazione di questa discrepanza sta nel fatto che il termine license, coniato

negli State come “mass market licenses of copyright material” (che consta di

3 sottocategorie), e stato tradotto letteralmente in italiano, importando quest’

ambiguita. Invece il sistema giuridico italiano non prende in considerazione

ne il termine ne tanto meno le sottocategorie di licenze, tuttavia prevede una

normativa completa e articolata per i cosidetti contratti di adesione. In essi

e solo una parte ad esprimere le modalita di gestione del rapporto giuridico,

mentre l’altra parte puo solo scegliere di accettare o rifiutare in toto le condi-

zione predisposte dalla controparte.

In conclusione per il diritto italiano, contrariamente a quello americano, le co-

sidette licenze copyleft sono qualificate come contratti ad adesione.

3.1.1 GPL

Dopo aver approfondito il funzionamento e la validita dei contratti di tipo co-

pyleft, mettendo in risalto le differenze con il modello copyright, si prende in

analisi la madre di tutte le licenze di tipo copyleft, cioe la General Public

License. La GNU General Public License e una licenza per software libero.

Page 21: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

3.1 Funzionamento e validita 13

Anzi e possibile dire che vi e software libero quando questo e rilasciato sotto

licenza GPL. Successivamente si dara una definizione per questo tipo di soft-

ware nella seconda parte della trattazione. La GNU GPL e stata scritta da

Richard Stallman e Eben Moglen nel 1989 (versione 1.0), rivista nel 1991 (ver-

sione 2.0) e in questi anni dovrebbe uscire la versione 3.0. Contrapponendosi

alle licenze per software proprietario, la GNU GPL permette all’utente liberta

di utilizzo, copia, modifica e distribuzione; a partire dalla sua creazione e di-

ventata una delle licenze per software libero piu usate. Il testo della GNU GPL

e disponibile per chiunque riceva una copia di un software coperto da questa li-

cenza. I licenziatari/utenti che accettano le sue condizioni hanno la possibilita

di modificare il software, di copiarlo e ridistribuirlo con o senza modifiche, sia

gratuitamente sia a pagamento. Quest’ultimo punto distingue la GNU GPL

dalle licenze che proibiscono la ridistribuzione commerciale.1 Se l’utente di-

stribuisce copie del software, deve rendere disponibile il codice sorgente a ogni

acquirente, incluse tutte le modifiche eventualmente effettuate. Nella prati-

ca, i programmi sotto GNU GPL vengono spesso distribuiti allegando il loro

codice sorgente, anche se la licenza non lo richiede. Ci sono casi in cui viene

distribuito solo il codice sorgente e in quel caso e l’utente che ha il compito di

compilarlo, ricavando il formato eseguibile per l’uso. L’utente ha il dovere di

rendere disponibile il codice sorgente solo alle persone che hanno ricevuto da

lui il formato eseguibile. Questo significa, ad esempio, che e possibile creare

versioni private di un software sotto GNU GPL, a patto che tale versione non

venga distribuita a qualcun altro. Questo accade quando l’utente crea delle

modifiche private al software, ma non lo distribuisce: in questo caso non e

tenuto a rendere pubbliche le modifiche. Da sottolineare nella licenza anche la

clausola di non garanzia, reperibile all’art.11. Dato che il software e protetto

da copyright, l’utente non ha altro diritto di modifica o ridistribuzione al di

fuori dalle condizioni di copyleft. In ogni caso, l’utente deve accettare i termi-

ni della GNU GPL se desidera esercitare diritti normalmente non contemplati

dalla legge sul copyright, come la ridistribuzione. Se qualcuno distribuisce un

1come quella utilizzata per questo’opera

Page 22: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

3.1 Funzionamento e validita 14

software (in particolare, versioni modificate) senza rendere disponibile il codice

sorgente o violando in altro modo la licenza, puo essere denunciato dall’autore

originale secondo le stesse leggi sul copyright.

In questo senso la GPL risulta un intelligente cavillo legale e per questo e stata

descritta come un “copyright hack”, che riesce a mantenere le famose quattro

liberta sbandierate da Stallman quali:

• la liberta di usare a propria discrezione (liberta 0)

• la liberta di copiare e condividere con altri (liberta 1)

• la liberta di modificare, studiare ed elaborare (liberta 2)

• la liberta di ridistribuire i cambiamenti e i lavori derivati a patto di

mantenre la solita licenza (liberta 3)

3.1.2 LGPL

La GNU Lesser General Public License e una licenza creata dalla Free

Software Foundation. E’ stata studiata come compromesso tra la GNU Gene-

ral Public License e altre licenze non-copyleft come la BSD License e la MIT

License. Il suo scopo e di essere appetibile per aziende e progetti commer-

ciale, tutelando al tempo stesso la comunita del software libero da abusi da

parte delle stesse. La base della licenza stabilisce il copyleft sul singolo file

di codice sorgente, ma non sull’intero software. Questo comporta che, per

esempio, un software rilasciato sotto licenza LGPL puo essere incluso libe-

ramente in un’applicazione commerciale non sotto licenza copyleft, a patto

che le modifiche apportate al codice sorgente del software stesso vengano re-

se pubbliche; tutti gli altri file dell’applicazione possono essere rilasciati con

licenza proprietaria e senza codice sorgente. Per questo motivo risulta molto

utile quando si sviluppano librerie, in modo da rendere compatibili programmi

liberi e proprietari.

Page 23: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

3.2 Esempi di licenze non tutelate dal copyleft 15

3.2 Esempi di licenze non tutelate dal copyleft

La differenza fondamentale che separe le licenze copyleft dalle altre (che siano

comunque di software proprietario o no) viene spiegata con questo aneddoto.

Il sistema operativo BSD (Berkeley Software Distribution), un sistema opera-

tivo Unix like, sviluppato presso l’universita di Berkeley in California, e stato

utilizzato dalle major dell’informatica a causa della sua licenza non copyleft,

la BSD License. In questo caso e grazie a questo tipo di licenze dette semi-

libere, che e stato possibile sfruttare il codice del BSD per, in casa Microsoft,

riprogettare la pila protocollare di networking (protocolli e utility relative) e ,

in casa Apple integrare le porzioni di codice BSD per formare la base 2 dell’

unico sistema commerciale derivato da Unix, che attualmente contraddistingue

la casa di Cupertino.

Un altro fenomeno degno di nota e il cambiamento di licenza: quando un pro-

getto rilasciato attraverso il modello copyleft sotto un’ apposita licenza, decide

per i motivi piu disparati di cambiare licenza, passando a una piu restrittiva,

avviene quello che in gergo informatico e detto un fork del progetto. Il ter-

mine fork deriva dalla programmazione Unix ed e a livello tecnico una sistem

call per clonare un processo in memoria, mantenendo pero un Identification

Number diverso da quello di partenza. Questo termine si applica anche quindi

al gruppo di lavoro che decide di duplicare il progetto continuando a svilup-

pare secondo la modalita a codice aperto, distaccandosi dalle scelte effettute

dall’altro gruppo. Un esempio di questo e il server OpenSSH : esso e un fork

di SSH, avvenuto in quanto la seconda versione dell’originale venne distribuito

con una licenza non libera; la prima versione, ancora con licenza libera, venne

forkata e, nel corso dei mesi, tutte le distribuzioni Linux rimpiazzarono SSH

con OpenSSH, insieme di programmi liberi che rendono disponibili sessioni

crittografate di comunicazione in una rete di computer usando il protocollo

SecureSHell.

2le porzioni di codice forniscono le API POSIX, il modello di gestione dei processi, i livelli

base di sicurezza e le relative policy, l’user id, la gestione dei permessi, la gestione della rete,

il Virtual file system, la crittografia e molte primitive.

Page 24: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 4

Confronto tra due licenze di

sistemi operativi

Si cerca adesso di confrontare due licenze di sistemi operativi completamente

antitetici, cercando di mettere in luce gli svantaggi e i vantaggi di un software

rilasciato sotto licenza copyeft contro un altro sotto licenza proprietaria. Si fa

questo in modo da applicare i concetti enunciati al mondo del software contem-

poraneo, rimanendo sempre in stretto rapporto con la pratica; in maniera tale

da evincere anche vantaggi che possono essere in seguito trattati nella parte

tecnica.

In particolare confronteremo la licenza del sistema operativo monopolista, Mi-

crosoft Windows Xp Home Edition contro una nuova ed emergente distribu-

zione del sistema GNU/Linux1, Ubuntu Linux 6.06 .

Figura 4.1: Il simbolo di Windows XP

1per maggior informazione su questo si rimanda alla parte tecnica dove si parla di software

libero

Page 25: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.1 Licenza d’uso di Windows XP 17

4.1 Licenza d’uso di Windows XP

Si prende in considerazione la licenza d’uso di Windows XP o altresı chiamata

anche EULA nella lingua anglosassone che significa End User License Agree-

ment cioe “Contratto con l’utente finale”. A partire dall’etimologia del termi-

ne viene confermato quanto enunciato nella sezione 3.1 per quanto riguarda

il termine “licenza” nel mondo del software. Questa puo essere reperita al-

l’indirizzo http://www.microsoft.it/windowsxp/home/eula.mspx in lingua

italiana. Procederemo ad analizzare i passi salienti inserendo dei brani e com-

mentandoli.

Innanzi tutto riportiamo di seguito il primo passo che anticipa il fatto che,

l’utente e costretto ad accettare la licenza se desidera usare il software in que-

stione. Quindi come enunciato nella sezione 3.1 l’utente/licenziatario ha solo

due possibili scelte: rifiutare, riconsegnando il prodotto o accettare, sottostan-

do al contratto.

INSTALLANDO,DUPLICANDO O ALTRIMENTI UTILIZZANDO IL SOFTWARE, L’UTENTE ACCETTA DI ES-

SERE VINCOLATO DALLE CONDIZIONI DEL PRESENTE CONTRATTO. QUALORA L’UTENTE NON ACCETTI LE

CONDIZIONI DEL PRESENTE CONTRATTO, ALLORA NON POTRA INSTALLARE, DUPLICARE O UTILIZZARE IL

SOFTWARE E, SE APPLICABILE, POTRA RESTITUIRLO PRESSO IL LUOGO DI ACQUISTO. IN TALE IPOTESI,

QUALORA AL MOMENTO DELL’ACQUISTO IL RIVENDITORE ABBIA EMESSO FATTURA, L’UTENTE POTRA OT-

TENERE IL RIMBORSO DEL PREZZO. DIVERSAMENTE L’UTENTE POTRA OTTENERE LA SOSTITUZIONE DEL

SOFTWARE CON ALTRO PRODOTTO DI PARI PREZZO O UN BUONO PER IL FUTURO ACQUISTO DI UN ALTRO

PRODOTTO DI PARI PREZZO.

Proseguendo nell’analisi del testo della licenza, in essa si legge che, come

regola il diritto d’autore, vengono ceduti dei diritti all’autore; vediamo subito,

comunque, che si tratta di diritti minori, cioe come spiega Stallman, garanti-

scono solo un grado di liberta 0 al software e a chi lo usa. In particolare nel

art.1 vi sono i diritti che Microsoft concede al licenziatario, riportiamo i piu

importanti:

Page 26: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.1 Licenza d’uso di Windows XP 18

• Diritto di installazione e utilizzo su non piu di due processori sulla stessa

WorkStation.

• Diritto di connessione di dispositivi in massimo numero di cinque tra

computer e dispositivi elettronici.

• Diritto di memorizzazione su supporto per copia di backup.

Da sottolineare nell’art.5 che l’utente al momento dell’acquisto non compra

il software, che rimane di proprieta intellettuale Microsoft, ma compra solo i

diritti forniti con la licenza come ci mostra il seguente passo:

3. RISERVA DI DIRITTI E PROPRIETA. Microsoft si riserva tutti i diritti non espressamente di-

sciplinati dal presente Contratto. Il Software e protetto dalle leggi e dai trattati in materia di copyright e

proprieta intellettuale. Microsoft e i suoi fornitori sono i titolari del nome, del copyright e di altri diritti

sulla proprieta intellettuale inerenti al Software. Il Software non viene venduto, ma e concesso in licenza.

Come annunciato nell’ Introduzione, poiche siamo in presenza di un soft-

ware proprietario la licenze non concede il diritto di decodificazione del codice

macchina, oltre che ovviamente di rilasciare il codice sorgente. Questo viene

specificato nel art.4, scoraggiando tecniche di reverse engeenering :

4. RESTRIZIONI SULLA DECODIFICAZIONE, SULLADECOMPILAZIONE E SUL DISASSEM-

BLAGGIO. L’utente non potra decodificare, decompilare o disassemblare il Software, fatta eccezione per i

casi in cui le suddette attivita siano espressamente consentite dalla legge applicabile.

Per quanto riguarda il diritto a ridistribuire senza restrizioni anche in questo

caso viene quasi totalmente negato, se non per trasferire il sistema operativo

da un postazione all’altra, cancellando preventivamente il tutto sulla prima.

Questo e espresso dall’art.14 nel seguente modo:

14. TRASFERIMENTO DEL SOFTWARE. Interno. L’utente potra effettuare il trasferimento del

Software a un Computer Workstation diverso. Dopo il trasferimento, l’utente dovra rimuovere completa-

Page 27: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.1 Licenza d’uso di Windows XP 19

mente il Software dal Computer Workstation su cui si trovava. Trasferimento a Terzi. L’utente iniziale

del Software potra trasferire permanentemente una sola volta il presente Contratto e il Software a un al-

tro utente finale, posto che l’utente iniziale non conservi alcuna copia del Software. Questo trasferimento

dovra includere il Software e l’etichetta della Prova della Licenza. L’eventuale trasferimento, inoltre, non

dovra essere effettuato sotto forma di invio o spedizione ovvero di altro trasferimento indiretto. Prima del

trasferimento, l’utente finale beneficiario del Software dovra accettare i termini e le condizioni del presente

Contratto.

Un articolo conclusivo da evidenziare e quello che riguarda la garanzia

sul prodotto, riportato alla fine della EULA, che garantisce all’utente, sotto

terminate condizioni, il rimborso o la sostituzione del bene in caso di malfun-

zionamento. La clausola recita:

La garanzia - Il Software e progettato e offerto quale prodotto a scopo generale, e non e progettato o

offerto per scopi particolari dell’utente. L’utente accetta che nessun prodotto software e esente da errori e

riconosce di essere stato specificamente avvisato della necessita di effettuare periodicamente il backup dei

suoi file. A condizione che l’utente abbia una licenza valida, Microsoft garantisce che il Software funzionera

in sostanziale conformita con i materiali scritti ad esso acclusi per un periodo di 90 giorni dalla data in cui

l’utente riceve la licenza per utilizzare il Software o per il periodo minimo consentito dalla legge applicabile

[...] Nel caso in cui il Software non sia conforme alla presente garanzia, Microsoft potra (a) riparare o sosti-

tuire il Software o (b) restituire il prezzo pagato dall’utente. La presente garanzia non e valida qualora il

mancato funzionamento del Software dipenda da incidente,oppure da abusivo o errato utilizzo. [...]

Ecco in sintesi i diritti garantiti da questa licenza:

Utilizzo Modifica Ridistribuzione Garanzia

Si con restrizioni Nessuna Solo diritto di trasferimento Si

Page 28: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.2 Licenza di Ubuntu Linux 20

4.2 Licenza di Ubuntu Linux

Il sistema operativo Ubuntu Linux e una distribuzione di GNU/Linux, creato

da Richard Stallman attraverso gli applicativi GNU della sua fondazione e il

kernel Linux sviluppato da Linus Torvalds. Di recente rilascio (2004) questa

distribuzione si e affermata per la sua attenzione sull’utente desktop finale 2 ed

un impegno concreto nel fornire aggiornamenti costanti per 18 mesi seguendo il

modello di produzione software open source e, per quanto riguarda la cessione

dei diritti, il modello copyleft.

Una distribuzione GNU/Linux in generale e un insieme di molti applicativi

con documentazione, basati sul kernel libero creato e sviluppato da migliaia

di individui e team in tutti il mondo. Data questa varieta, ognuno di essi

potrebbe avere una licenza differente. Ogni distribuzione in base alla filosofia

del team decide quale software inserire e rendere disponibile, modificando di

conseguenza la licenza finale.

Quindi in questo caso non e possibile ricondursi ad una licenza unica per un

interno sistema operativo, e per questo motivo che il software in Ubuntu viene

diviso in sezioni.

Figura 4.2: Il simbolo di Ubuntu

2Linux era spesso solo usate nei Wokstation server

Page 29: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.2 Licenza di Ubuntu Linux 21

4.2.1 Filosofia

La maggioranza del software prodotto, aggregato e rilasciato dalla distribuzio-

ne Ubuntu Linux e guidato dalla filosofia sulla liberta del software, applicando

il modello del copyleft alle licenze di questi programmi e usando il modello di

produzione opensource, cioe a codice aperto per lo sviluppo.

Nel cuore della Filosofia Ubuntu sulla liberta del software, risiedono i seguenti

ideali:

1. Ogni utente di computer deve avere la liberta di eseguire, copiare, distri-

buire, studiare, condividere, modificare e migliorare il proprio software

per qualunque scopo, senza dover pagare diritti di licenza.

2. Ogni utente deve poter usare il proprio software nella lingua di propria

scelta.

3. A ciascun utente deve essere data l’opportunita di usare il software, anche

se affetto da handicap.

La filosofia e riflessa nel software che viene prodotto e incluso nella distribu-

zione. Per questo i termini di licenza del software che viene distribuito sono

ponderati su questa filosofia, usando la Ubuntu License Policy.

4.2.2 Ubuntu License Policy

Le linee guida della licenza di Ubuntu denominata Ubuntu License Policy e

reperibile in lingua italiana all’indirizzo web seguente

www.ubuntu-it.org/index.php?page=Licenze_linee_guida.

Qui si descrive infatti il processo tramite il quale il software e incluso nel CD

di installazione di Ubuntu. Tutto il software che viene rilasciato da questa

distribuzione viene suddiviso in 3 sezioni principali:

1. Main

2. Restricted

Page 30: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.2 Licenza di Ubuntu Linux 22

3. Universe/Multiverse

Le sezioni sono un modo per classificare il software in base alle licenze e di-

viderlo in maniera diversa nei repository del progetto ubuntu.com. In questo

modo si garantisce all’utente una panoramica completa di tutto il software, la-

sciando la liberta di scelta sull’installazione di opere proprietarie della sezione

universe.

Il software viene inserito nelle prime due sezioni in base alla sua risponden-

za alla filosofia del software libero e al livello di assistenza che viene offerto.

Infatti le sezione main/restricted contengono solo ed esclusivamente software

rilasciato secondo il modello del copyleft e quindi attraverso la licenza GNU

GPL o LGPL.

Nella sezione universe/multiverse invece si trova in pratica qualsiasi altro soft-

ware portabile sul sistema Linux, sotto svariate forme di licenza, anche non

secondo il modello copyleft.

In particolare per la sezione main tutto il software deve soddisfare i seguenti

requisiti:

• La sezione main ha un requisito rigido e non negoziabile, tutto il software

deve includere il codice sorgente.

• Deve consentire modifiche e distribuzione con la stessa licenza di copie

modificate. Avere solo il codice sorgente non da la stessa liberta di avere

anche il diritto di poterlo modificare; cosa che invece fornisce la licenza

GPL. Senza la possibilita di modificare il software, la comunita Ubuntu

non puo fornire supporto, correggere errori, tradurlo o migliorarlo.

Invece la sezione restricted soddisfa i seguenti requisiti:

• Deve consentire la redistribuzione. Il diritto di vendere o regalare soft-

ware da solo o come parte di una distribuzione e importante perche:

– L’utente, deve avere la possibilita di scambiare con altri qualsiasi

software ricevuto da Ubuntu sia come sorgente che come compilato.

Page 31: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.2 Licenza di Ubuntu Linux 23

– Anche se Ubuntu e completamente gratuito, si puo vendere i CD di

Ubuntu o creare una distribuzione modificata di Ubuntu da vendere,

ed e lecito avere il diritto di poterlo fare.

• Non deve richiedere il pagamento di diritti o somme per la redistribuzione

o modifica. E’ importante poter esercitare questi diritti sul software senza

dover pagare, e poter nello stesso modo passare ad altri questi diritti.

• Si deve consentire che questi diritti siano trasmessi insieme al software.

Si deve avere sul software gli stessi diritti di tutti.

• Non deve fare discriminazione sulle persone, gruppi o campi di appli-

cazione. Le licenze del software incluso in Ubuntu non possono fare

distinzioni e non possono limitare l’utilizzo per particolari settori, per

esempio in campo lavorativo.

• Puo richiedere che modifiche al software siano distribuite come patch. In

alcuni casi, gli autori del software sono felici di consentirci la distribuzione

e le modifiche, a patto che siano mantenute separate, in modo che la

gente abbia sempre una copia dell’originale. In ogni caso, la licenza,

deve esplicitamente consentire la distribuzione di software creato tramite

il codice modificato.

La caratteristica che colpisce di questa licenza e che al contrario della licenza

proprietaria di Windows dove si acquista non il software ma la licenza, l’u-

tente/licenziatario finale ha la disponibilita del software a costo praticamente

nullo per quanto riguarda il software installato di default e in piu la possiblita

di modificarlo. L’unico difetto della licenza, che in realta poi coincide anche

con quello della GPL, e il fatto che tutto il software viene rilasciato con la

clausola di No Warrantly 3 cioe senza garanzia di nessun tipo, con il solo sco-

po di essere utile.

3Anche se e vero che l’ordinamento italiano contempla delle forme di tutela dell’utente,

nonostante la clausola di non garanzia, le quali si applicano lo stesso in quanto previste dalla

legge, anche contro questa clausola.

Page 32: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

4.2 Licenza di Ubuntu Linux 24

Ecco in sintesi i diritti garantiti da questa licenza:

Utilizzo Modifica Ridistribuzione Garanzia

Si Si, ma solo per software GPL Si, ma solo per software GPL Nessuna

Page 33: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Parte II

Analisi Ingegneristica

25

Page 34: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 5

Le tipologie di software

Si passa adesso, dopo aver esposto il concetto di copyleft e due delle principali

licenze che lo contemplano, a enunciare quelli che sono i vantaggi e svantaggi

del software libero e opensource, confrontandolo con il software proprietario.

Anche se in questa trattazione abbiamo preso in considerazione l’applicazione

del copyleft al mondo del software, ipotesi per cui e nato, non c’e da sotto-

valutare l’uso di licenze copyleft anche in altri ambienti come ad esempio la

musica, il giornalismo o l’informazione. A questo riguardo prima di calarsi nei

dettagli software, si vuole citare il progetto “Wikipedia, l’enciclopedia libera”,

enciclopedia web liberamente modificabile sotto determinate condizioni. Que-

sto per far capire come il modello della gestione dei diritti copyleft non sia solo

applicabile ai meri programmi.

Tornando all’argomentazione tecnica sul software, il confronto riguardera sia

l’uso che il processo di sviluppo e prendera in considerazione l’utilita del soft-

ware libero nella Telematica e nella Pubblica Amministrazione. Prima pero si

definisce cosa si intende per software libero e quali sono le differenze con quello

opensource, in modo da eliminare una volta per tutte la confusione che viene

fatta in materia.

Page 35: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

27

La figura 5.1 utilizzata da Daniele Giacomini [4] illustra i tipi di software

attualmente sul mercato. I software in questa tipologia vengono classificati per

il loro tipo di licenza, riportando a destra il software a codice chiuso e a sinistra

a codice aperto. E’ bene notare che i software liberamente scaricabili dalla rete

non e detto che siano sotto licenza copylefted o che siano software libero, anzi

spesso e tutt’altro: vi sono software chiusi che comunque risultano di download

libero, come ad esempio il noto browser web Opera 1. Ad esempio risultano

programmi liberamente scaricabili dalla rete i cosidetti shareware, cioe appli-

cativi a codice chiuso sotto licenza, la quale garantisce un uso gratuito, ma

limitato nelle funzionalita per 30 giorni; dopodiche e necessario registrare il

prodotto alla casa madre per continuare ad utilizzarlo nel pieno delle funzio-

nalita.

Dall’altra parte vi e invece il software che si puo appellare con il termine in-

glese “free” che, come cita Stallman, “non significa gratis come la birra, ma

libero come un discorso”. Da sottolineare la presenza nel free software di varie

tipi di licenze: quelle sullo stile del “vecchio” server grafico per Linux, Xfree86

e quelle di stampo copyleft, tra cui spicca la GPL. Una particolarita che va

evidenziata e il fatto che, come anticipato, software libero e opensource non

coincidono perfettamente, anche se portano ai medesimi effetti.

Figura 5.1: Tipi di software

1www.opera.com

Page 36: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

5.1 Il software libero 28

5.1 Il software libero

Nato dalla Free Software Foundation di Richard Mattew Stallman agli inizi

degli anni 80, il software libero mira a distribuire programmi con licenza copy-

left che garantiscono le famose 4 liberta citate nella prima parte. Nella pratica

la FSF si esplica nel movimento GNU, che mira alla costruzione di un sistema

operativo completamente libero, che prende forma nei sistemi cosidetti GNU/-

Linux.

Tralasciando la storia gia sovracitata, e bene sottolineare invece cio che caratte-

rizza il software libero: in esso il significato della parola libero ha un’accezione

particolare. Si e gia sottolineato che la liberta del software non e incondiziona-

ta, perche e soggetta ai precisi vincoli della licenza, come qualsiasi altra licenza

d’uso; solo che in questo caso l’autore si “espropria” di alcuni diritti per cederli

agli utenti. Questi vincoli sono studiati in maniera tale da favorire la liberta

dell’utente e la condivisione del sapere. Pertanto il software libero parte prima

di tutto da considerazione di tipo sociali e, per molti aspetti, e una forma di

filosofia. Le implicazioni sociali del software libero infatti sono notevoli: la

condivisione del sapere non permette a un gruppo ristretto di persone di sfrut-

tare la conoscenza (in questo caso tecnologica) per acquisire una posizione di

potere o monopolio. Inoltre, e promossa la cooperazione delle persone, che

tendono naturalmente ad organizzarsi in comunita, cioe in gruppi animati da

un interesse comune. Il modello del software libero si e naturalmente esteso

ad altri campi del sapere, vedi l’esempio di Wikipedia.

Per meglio riassumere, il software libero non e tanto una modalita di

produrre software, quanto una maniera di concepire il software stes-

so. Il fatto che ogni applicativo libero eseguibile debba essere corre-

dato del suo codice sorgente per il software libero non e una condi-

zione secondaria subottimale nella produzione di questo, ma bensı

un principio etico-morale, cosa che come vedremo successivamente non e

vera per il software opensource.

Page 37: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

5.2 Il software opensource 29

Figura 5.2: Il simbolo del progetto GNU

5.2 Il software opensource

La nascita del termine opensource invece riguarda tempi piu vicini e si colloca

alla fine degli anni 80. Agli inizi degli anni Novanta, le licenze libere delle FSF

venivano ritenute contagiose e virali, in quanto a partire da un codice licen-

ziato con la GPL qualsiasi ulteriore modifica doveva avere la stessa licenza.

Le idee stesse di Stallman venivano viste con sospetto dall’ambiente commer-

ciale statunitense, il che non facilitava la diffusione del software libero. Per

favorire dunque l’idea delle licenze libere nel mondo degli affari, Bruce Perens,

Eric S. Raymond, Ockman e altri hacker cominciarono nel 1997 a pensare di

creare una sorta di lobby, staccandosi dalla FSF, a favore di una ridefinizione

ideologica del software libero, evidenziandone i vantaggi pratici per le aziende.

Cosı facendo coniarono il termine “Open Source”. La scelta di questo termine

e imputabile al fatto di evitare l’equivoco dovuto al doppio significato della

parola free nella lingua inglese e all’ intenzione di differenziarsi dal software

libero. L’iniziativa venne portata avanti soprattutto da parte di Raymond che,

in occasione della liberalizzazione del codice sorgente di Netscape, il predeces-

sore di Mozilla Firefox, voleva utilizzare un tipo di licenza meno restrittivo per

le aziende di quanto fosse la GPL.

La scelta a favore dell’Open Source da parte di alcune importanti imprese del

settore come la Netscape e l’IBM, facilitarono inoltre l’accettazione del movi-

mento Open Source presso l’industria del software, facendo uscire l’idea della

“condivisione del codice” dalla cerchia ideologica ristretta nella quale era ri-

masta relegata fino ad allora. Lo stratagemma di Reymond, confermato anche

Page 38: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

5.3 Differenza tra software libero/opensource 30

nel suo saggio “La Cattedrale e il Bazaar” [5], fu di far passare l’idea che l’o-

pen source fosse non un principio ideologico, ma una metodologia di

produzione software piu efficace del classico sistema a codice chiuso.

Cosi facendo insieme ad un altro membro della FSF, Bruce Perens, diede vita

alla OpenSource Initiative - OSI e scrissero OpenSource Definition, fissando le

idee alla base del loro progetto e tutelando con un marchio i prodotti a questa

afferenti.

In particolare la OpenSource Initiative si occupa dell’aggiornamento dell’elen-

co delle licenze che si conformano all’Open Source Definition, in cui compare

anche la GPL; infatti dentro la definizione di OpenSource rientra l’idea di

Software Libero, cosa che non vale al contrario.

Figura 5.3: Il logo dell’OpenSource Initiative

5.3 Differenza tra software libero/opensource

Possiamo riportare in sintesi le conclusioni derivanti dal confronto tra software

libero e opensource, evidenziando innanzi tutto che gli effetti ai quali portano

tutti e due i modelli sono pressoche identici: entrambi sostanzialmente ga-

rantiscono il diritto di copia del codice sorgente dell’applicativo e soprattutto

la possibilita di commercializzazione/profitto. La differenza sta nel fatto che

questi effetti provengono da un’ idea diversa: per il software libero non c’e

alternativa eticamente accettabile che concepire la distribuzione del software

in questo modo; per il software opensource lo sviluppo a codice aperto e ot-

timale per produrre questo tipo di bene. Il software proprietario e visto dai

Page 39: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

5.3 Differenza tra software libero/opensource 31

primi come una sorta di crimine verso le liberta dell’utente; dai secondi come

metodologia subottimale della produzione.

Page 40: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 6

Il modello di produzione del

software a codice aperto

Il modello di produzione a codice aperto, che sia software libero od opensource,

e riuscito a inserirsi nel mercato fornendo il piu delle volte soluzioni altamente

competitive rispetto a quelle offerte dal panorama proprietario: si pensi alla

famosa “Guerra dei Browser” ripresa in questi anni tra l’innovativo Mozilla

Firefox ed il colosso Internet Explorer.

Una caratteristica da evidenizare con l’avvento del codice aperto e il fatto

che le politiche di business delle aziende che forniscono software open sono

cambiate drasticamente, passando dalla vendita di un prodotto nel software

proprietario alla vendita di un pacchetto/servizio nel software open. Si

pensi al caso della famosa azieda Red Hat per quanto riguarda software basato

su Linux per server; oppure alla neonata Novell che vende un sistema operativo

desktop con il relativo servizo di supporto.

Page 41: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

6.1 Vantaggi 33

6.1 Vantaggi

Secondo i suoi sostenitori il software a codice aperto presenta numerosi vantaggi

rispetto al software proprietario, si riportano di seguito quelli che, a livello

ingegneristico, si presentano come i maggiori vantaggi rispetto all’uso e alla

produzione di programmi:

• Spesso per sua natura il software a codice aperto e gratis, quindi privo

di licenze costose per acquisire pochi diritti. O se non lo e, di solito,

sono a pagamento dei servizi aggiuntivi e, quindi, l’utente puo comunque

ottenere e compilarsi autonomamente il codice sorgente.

• Poiche il codice sorgente e disponibile, e possibile modificare le funziona-

lita del programma, ampliandole o limitandole se c’e la possibilita tecnica

per farlo. Quindi non importa aspettare i bug fix della casa madre, ma

e possibile anche in prima persona patchare il software e magari inviare

i miglioramenti alla comunita.

• Il codice sorgente poiche pubblico e sottoposto a revisione da comunita,

team, hacker, studenti, quindi e in questo senso possible attuare bug fix

o trovare malfunzionamenti. Siffatto aspetto positivo e realmente tale

solo se vi e un struttura pubblica, ad esempio un sito internet o un bug

tracker, dove e possibile riportare malfunzionamenti.

• E’ impossibile inserire nel codice backdoor o spyware senza essere sco-

perti, in quanto il codice sorgente che risiede nei CVS e pubblico e

costantemente aggiornato dagli sviluppatori.

• Poiche il codice e aperto anche i meccanismi che vengono usati per inter-

facciare un dispositvo con un altro seguono standard ben precisi quindi

consultabili e aperti. Questo e un notevole incentivo alla portabilita,

allontanadosi dai formati proprietari.

• Collaborando con gli sviluppatori volontari e il lavoro delle comunita,

Page 42: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

6.2 Svantaggi 34

anche le imprese sono in grado di sviluppare prodotti di alta qualita,

non essendo al contempo costrette ad ampliare il loro organico.

6.2 Svantaggi

Appurato che la distinzione tra vantaggio e svantaggio e alquanto soggettiva e

che, se si dimenticano delle particolarita, e facile trasformare l’uno nell’altro,

si va ad enunciare quelli che, a mio avviso, risultano essere le caratteristiche

sfavorevoli del software a codice aperto. Il software a codice aperto ha delle

limitazioni e degli svantaggi rispetto al software proprietario, soprattutto se si

considera tutte le sfaccettature dei programmi:

• Alcune tipologie di software, soprattutto di nicchia come ad esempio

programmi per il CAD, non sono disponibili a buoni livelli come software

open source, in quanto non vi e un progetto finanziato che ha introdotto

una buona applicazione in questo settore;

• Nonostante il codice sorgente sia liberamente disponibile, non tutti sono

in grado di apportarvi modifiche. Inoltre l’usabilita spesso non e ottimale

per un utente inesperto. Come vediamo quindi quello che puo essere un

vantaggio per gli informatici ossia per i piu esperti si rivela in questo caso

uno svantanggio o meglio una potanzialita persa per gli utenti inesperti.

• Spesso manca un sistema formale di revisione che sancisca se il software

e stato prodotto seguendo i principi dell’ Ingegneria del Software. Anche

se per i progetti odierni a codice aperto le cose sono cambiate.

• Anche se spesso e disponibile molta documentazione, a volte e risaputo

che o e incompleta o non aggiornata.

Page 43: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Capitolo 7

Confronto tra software

proprietario e libero

Dopo aver fatto un quadro sinottico sugli svantaggi e vantaggi teorici del soft-

ware a codice aperto, che comunque rimangono del tutto opinabili, si cerca

di fare un confronto tra software a codice aperto e quello proprietario incen-

trandosi su quattro aree di lavoro, alla luce di quanto visto anche nella prima

parte, prendendo in considrazione come oggetto di confronto il sistema opera-

tivo libero GNU/Linux rispetto agli altri sistemi operativi. I campi d’indagine

sono i seguenti:

1. l’ usabilita fornita ad un utente medio

2. la produzione di altro software da parte di professionisti per mezzo di

compilatori, IDE 1, librerie e tool

3. la Telematica

4. l’uso del software libero nella Pubblica Amministrazione, tra l’altro tema

molto ricorrente in questi anni.

1Integrated Development Environment

Page 44: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.1 Usabilita del software 36

7.1 Usabilita del software

Generalmente l’utente medio tende a pensare che il software proprietario rie-

sca meglio nell’uso in quanto associa ad esso un valore maggiore a causa degli

alti costi di acquisizione. Tra l’altro va preso in considerazione che l’utente

medio spesso non ha nessuna informazione sul tipo di contratto di adesione

che va a sottoscrivere e la maggior parte delle volte crede di essere in possesso

del software e non della licenza. Per quanto riguarda l’usabilita, riscontrata

dall’impiego di software libero, nei primi anni 80 i software rilasciati secondo

licenza copyleft erano pressoche programmi utilizzabili da studenti universitari

o comunque informatici o persone di un certo livello culturale: quindi l’usabi-

lita era spesso tralasciata e non vi erano tool di configurazione grafici. Anche

le cosidette GUI - Graphical User Interface, che potevano rendere un determi-

nato applicativo piu semplice all’utente finale, non erano considerate. Quindi

e giusto dire che il software a codice aperto nei primi anni a seguire dalla sua

nascita, essendo partorito da una cultura hacker, non stava a seguire canoni

che avrebbero giovato all’usabilita. Da questo spiacevole circostanza nacque

infatti il seguente detto riguardo ai sistemi operativi derivati da Unix, come

Linux: “Unix is user friendly, it’s just selective about who its friends are”.

Fortunatamente, anche grazie all’avvicinamento di molte aziende alla logica

della condivisione del sorgente e anche grazie al movimento meno radicale dell’

OpenSource, le cose nei nostri giorni sono cambiate e a livello di usabilita c’e

da dire che un sistema operativo proprietario ha lo stesso grado di facilita di

una qualsiasi distribuzione GNU/Linux per il desktop. E’ stata mantenuta la

filosofia di base della cultura hacker, ma avvicinando il software libero come

Linux all’ utente medio: cio e stato possibile grazie soprattutto ai cosidetti

Desktop Grafici KDE e GNOME, che riescono a riprodurre un ambiente desk-

top in due dimensioni. Ma non e tutto: oltre alle interfacce grafiche e ai vari

tool wizard autoconfiguranti, si e anche cercato, grazie a delle imprese come

Novell, di realizzare sondaggi e studi su utenti, sperando che potessero portare

una miglioria notevole all’accessiblita e all’usabilita dei sistemi GNU/Linux.

In questo ambito va inquadrato il progetto Better Desktop, come riportarto

Page 45: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.2 Produzione di altro software 37

nel relativo sito web http://www.betterdesktop.org, finanziato da Novell

per la costruzione dell’interfaccia utente del loro sistema operativo Suse Linux

Desktop Enterprise. Come riporta il sito web “Better Desktop e un progetto

dedicato a condividere i dati a riguardo l’usabilita con gli sviluppatori del si-

stema Linux. Negli anni passati, abbiamo concluso molti tests di usabilita su

differenti desktop come KDE o GNOME”. Altro punto a favore da sottolineare

e il fatto che sono stati presi dei provvedimenti per migliorare l’accessiblita dei

programmi da parte di persone affette da handicap o con problemi visivi, per

questo si rimanda ad esempio allo Gnome Usability Project 2. In questo caso

i programmi a codice aperto, a cominciare dal sistema operativo, hanno effet-

tuato migliorie non indifferenti rispetto alla partenza e al giorno d’oggi hanno

eguagliato i programmi proprietari. Spesso pero a confutare questo assunto vi

e la pigrizia dell’utente medio che fatica ad adattarsi ad un nuovo sistema, per-

che liberamente non concepisce il passaggio a software a codice aperto. Inoltre

spesso gli accordi tra aziende produttrici di software proprietario e hardware

non aiutano gli utenti ad utilizzare software a codice aperto, in quanto non

vengono rilasciati i driver per sistemi liberi. Anche se da questo punto di vista

si e abbastanza indietro, piano piano le cose stanno cambiando a favore del

software libero.

7.2 Produzione di altro software

Se per quanto riguarda l’usabilita il software libero stenta, forse alcune volte

per preconcetti, a decollare, e nel campo della produzione del software che il

modello a codice aperto prende il volo. Grazie alla rivoluzione delle comunica-

zioni, apportata da Internet 3, e all’ ingresso nel mercato di grosse imprese,il

modello a condivisione del codice ha saputo mantenere le rigide basi etiche

della cultura hacker e allo stesso tempo si e evoluto prendendo in prestito dal

software proprietario gli strumenti dell’Ingegneria del Software, per quanto ri-

2http://developer.gnome.org/projects/gup/3basta pensare al VoIP, cioe le telefonate tramite Internet Protocol

Page 46: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.2 Produzione di altro software 38

guarda la progettazione e la razionalizzazione dei casi d’uso. In questo senso

sono stati sviluppati tool come ad esempio Umbrello UML Modeller che per-

mettono di progettare software usando il cosidetto linguaggio UML Unified

Modeling Language. Il linguaggio di modellazione unificato e un linguaggio

usato da ingegneri e progettisti per la modellazione specifica basata sul para-

digma di programmazione orientato agli oggetti. Questo linguaggio, tra l’altro

molto intuitivo, poiche fa leva su schemi e disegni, ha avuto il suo successo con

l’affermarsi dei cosidetti Patterns per la progettazione. I Design Patterns [6]

infatti non sono altro che casistiche riportate in UML che il progettista ha il

dovere di usare ogni qual volta se ne abbia la necessita, riapplicando brillante-

mente una soluzione fatta modello, come si vede dalle figura 7.1 nella pagina

seguente.

Tali tecniche citate che sono i principi contemporanei della progettazione

del software sono contemplati ormai anche dalla produzione di software li-

bero. Inoltre il software open ha saputo anche crescere a livello tecnologico

introducendo tecnologie innovative o programmi rivoluzionari. In questo caso,

preme ricordare a riguardo, il famoso ambiente di sviluppo integrato open per

la scrittura di codice Java (e non solo) che ha avuto enorme successo in questi

anni: l’ Eclipse IDE. Inoltre data l’immenso numero di persone che giornal-

mente lavorano ad un progetto, sono stati affinati anche gli strumenti rispetto

al software proprietario, in alcuni casi superandolo: a livello tecnico infatti e

stata rivoluzionaria l’introduzione dei cosi detti sistemi del controllo della ver-

sione, cioe i famosi CVS - Concurrent Versions System o SVN - Subversion.

Essi implementano un sistema di controllo della versione per il software che

deve essere sviluppato: il server mantiene al corrente gli sviluppatori di tutto

il lavoro e di tutti i cambiamenti in un insieme di file; tipicamente e l’imple-

mentazione di un software in via di sviluppo e permette a molti sviluppatori

(potenzialmente distanti) di collaborare. CVS e divenuto popolare nel mondo

dell’open source ed e rilasciato sotto la GNU General Public License; di fatto

quasi tutti i progetti a codice aperto possiedono una server CVS ad accesso

pubblico.

Page 47: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.2 Produzione di altro software 39

Fig

ura

7.1:

Un

des

ign

pat

tern

,lo

Sta

te,

applica

toin

un

pro

gett

odi

softw

are

liber

o,cr

eato

con

Um

bre

llo

UM

L

Model

ler

Page 48: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.2 Produzione di altro software 40

La forza del modello di produzione a codice aperto si rispecchia inoltre nella

scelta di alcuni big del mercato dell’informazione come Google: infatti il co-

losso di Mountain View ha da tempo usato per l’implementare gran parte del

suo sistema la nascente tecnologia di programmazione che va sotto il nome di

Python 4, che piu tecnicamente e un linguaggio di scripting di ultima gene-

razione. Sebbene il software open sia stato preso in considerazione da molte

aziende produttrici di software proprietario e vero anche il caso contrario: cioe

molti progetti nati come proprietari hanno conosciuto anche uno sviluppo li-

bero sotto un altro nome. E’ il caso della framework .NET di Microsoft e del

relativo linguaggio di programmazione C# che viene reso compatibile con i

sistemi operativi alternativi grazie alla tecnologia, sviluppata da Novell, chia-

mata Mono 5 perfettamente integrabile con librerie grafiche grazie ai bindings

GTK# o con il layout engine di Mozilla tramite gecko#. Ultimo aspetto da

notare e che affinche il modello di produzione a codice aperto rimanga un ot-

timo modello, e necessario che il gestore di un determinato progetto organizzi

e gerarchizzi la produzione di questo, gestendo i programmatori volontari e

in alcuni casi assumendone altri, senza lasciare che la potenziale forza della

collaborazione si trasformi in anarchia.

Figura 7.2: Il logo di Eclipse

4http://www.python.org/ - dal sito ufficiale si nota che questo linguaggio e anche adottato

dai tecnici della NASA5http://www.mono-project.com/

Page 49: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.3 Telematica 41

7.3 Telematica

Il settore della Telematica ha visto crescere il software libero ed e per questo

motivo che risulta un settore di importanza sostanziale per lo sviluppo soft-

ware a codice aperto: grazie alla capillare interconnessione dei singoli utenti

mediante reti telematiche, il modello copyeft si e potuto diffondere rapidamen-

te.Quella che viene chiamata in gergo Internet non e altro che un immenso

agglomerato di sottoreti eterogene, gestite da ISP 6, sparse in tutto il globo e

collegate dai piu disparati mezzi di comunicazione. Grazie a questa tecnolo-

gia, agli inizi degli anni 60, tramite il progetto ARPAnet, i centri di ricerca si

potevano scambiare informazioni; successivamente i singoli hacker e program-

matori iniziarono ad usare la rete per i loro dati informatici, fino ad arrivare ai

giorni nostri con gli attuali sistemi di peer to peer o grid per la condivisione

di massa di files o per il calcolo distribuito.

Sostanzialmente quando si parla di software open e telematica e importante

citare non tanto l’effetto del primo sulla seconda, ma l’importanza che la te-

lematica ha avuto nella diffusione del software a codice aperto. Si sono gia

evidenziate piu volte le ripercussioni benefiche di questa prassi in fatto di svi-

luppo di software con il metodo della condivisione (vedi il caso emblematico

di GNU/Linux).

Sono stati comunque enormi anche gli apporti che la comunita di sviluppatori

come ad esempio l’Apache Software Foundation, hanno dato alla rete per mi-

gliorarla. In questo senso basti pensare che la maggior parte dei server web

presenti e formato da un sistema Linux dotato del server HTTP Apache con

rispettivi moduli. Per quanto riguarda invece l’interoperabilita, qualita molto

importante nella Telematica, e opportuno citare il progetto Samba che mira

a riproddure in veste libera il protocollo smb per l’interconnesione di reti Mi-

crosoft, in modo tale da garantire l’interoperabilita a tutti i sistemi operativi,

che siano Linux, Unix, Mac OS o OpenVMS. Il ruolo della rete non e stato

unidirezionale nel senso del supporto alla diffusione del software libero, poiche,

6Internet Service Provider

Page 50: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.4 Pubblica Amministrazione 42

allo stesso tempo, ha favorito anche il software propritario nell’interscambio

di migliaia di documenti in formato chiuso: alimentando in questo modo il

monopolio e aumentando l’inaccessiblita agli utenti, che usano solo formati

aperti.

Figura 7.3: Il logo di Apache Software Foundation

7.4 Pubblica Amministrazione

Quando si tratta del rapporto tra pubblica amministrazione e software, si vuole

fare riferimento alla gestione digitale tramite server, workspace, desktop, no-

tebook e stampanti che viene fatta nelle universita, nei comuni e in ogni altro

ente pubblico. Un acceso dibattito in questi ultimi anni riguarda l’adozione

da parte della pubblica amministrazione del software a codice aperto o come

si dice in questo campo del FLOSS.

Il termine Free Libre Open Source Software e un termine ibrido di software

libero e software open source, creato da un progetto 7 di Rishab Ghosh, di-

venuto popolare dopo che la Commissione europea nel giugno 2001 condusse

uno studio in materia.

In effetti l’idea dell’ uso del FLOSS nella pubblica amministrazione risulta

coerente con la funzione e gli scopi della pubblica amministrazione medesi-

ma, poiche in questo modo si utilizzerebbe un bene comune per un servizio

che riguarda l’intera comunita, diffondendo standard di documenti aperti e, in

questo senso, garantendo a tutti ampia accessibilia nei costi. E’ proprio nelle

universita che, secondo Stallman, il software libero avrebbe dovuto prendere

campo ed in effetti risulta il posto di incubazione ideale. Spesso pero’ succede

il contrario e gli enti pubblici investono del capitale in prodotti di tipo propri-

tario, diffondendo di conseguenza formati di questo tipo.

7http://flossproject.org/

Page 51: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

7.4 Pubblica Amministrazione 43

I fattori che non incentivano all’assunzione del FLOSS secondo un articolo in

materia di Simone Brunozzi [7] (e anche a mio avviso) sono i seguenti:

• Diffidenza

• Inerzia

• Certificazione

• Responsabilita

Dall’ emergere di questa diffidenza si nota che l’adozione del FLOSS risulta

appropriata solo in via teorica: fintantoche vi saranno colossi dell’informa-

zione che gestiscono le strutture informatiche della pubblica amministrazione

con tecnici esperti sul software proprietario, qualsiasi gestore optera per non

cambiare. Da questo punto di vista si chiede uno sforzo notevole alle piccole-

medie imprese nascenti nel fornire agli enti pubblici soluzione Linux based, non

soltanto per quanto riguarda i server, ma per quanto riguarda anche compu-

ter desktop, database e il formato dei documenti. Alcune di queste stanno

gia dando l’esempio con la commercializzazione del software libero, cosa che e

possibile data la licenza. Si cita ad esempio TrueLite s.r.l. 8, locata in Firen-

ze, o CreaLabs, innovative technlogies 9 di Torino. Cosı facendo si promuove

culturalamente la conoscibilita di questo movimento, anche nei confronti di

coloro che non lavorano nel campo dell’informatica.

8http://www.truelite.it/9http://www.crealabs.it/

Page 52: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Conclusioni

Per concludere in toto la trattazione si puo affermare che il modello di gestione

dei diritti attraverso copyleft, che cerca di tutelare la liberta e la condivisione

del sapere, e adatto ad essere applicato ad un bene virtuale come il software. In

questo senso il boom di applicazioni open funzionali e altamente portabili e un

indice della adeguatezza di questo modello, che sta diffondendosi enormemente

nella produzione del software: in effetti la conseguenza delle condivisione del

codice ha portato anche molte aziende di software proprietario a rivedere il

loro sistema di creazione. Se nel modello proprietario gli sviluppatori erano

imbrigliati da particolari contratti firmati per la non diffusione del materiale,

adesso invece questo modello sta cercando di essere ribaltato. E’ ovvio che

anche il mondo del software a codice aperto non e scevro di aspetti negativi,

infatti se in linea teorica un progetto a codice aperto puo avere molti vantaggi

derivati dall’interoperabilita, accessibilita e divulgazione, e anche vero che se

non vi e dietro un gruppo che gestisca e finanzi il progetto, allora la riuscita

sara sempre inferiore rispetto ad un progetto a codice chiuso. Se pero come nel

caso di Ubuntu (e di altri famosi progetti) vi e un finanziatore e coordinatore

dei lavori come Mark Shuttleworth, ricco imprenditore sudafricano e gestore

della Canonical Ltd, allora e possibile unire la forza della comunita con la

precisione del lavoro coordinato, ottenendo risultati migliori dello sviluppo a

codice chiuso. E’ possibile affermare, quindi, che il software a codice aperto

puo benissimo competere con lo sviluppo a codice chiuso se coesistono queste

due condizioni:

1. vi e un gruppo di persone che coordina i lavori

Page 53: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

45

2. il progetto e finanziato da sponsor o altri partner

Questi fattori, combinati insieme, permettono di sfruttare appieno la liberta

fornita dalle licenze copyleft, che come si e visto nella prima parte, porta

alla condivisione del codice sorgente, con restrizione sul mantenimento della

stessa licenza; inoltre vengono seguite anche le best practices dell’Ingegneria

del Software, che offrono riusabilita, interoperabilita e portabilita del codice

scritto, garantendo sia uno sviluppo del codice ottimale che una buona riuscita

quanto a funzionalita dell’applicativo.

Page 54: Copyleft e software a codice aperto: un' analisi …...Universita degli Studi di Firenze` Facolt`a di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina Sistemi Telematici

Bibliografia

[1] S. Aliprandi, Teoria e Pratica del copyleft, NDApress, Ed., 2005.

[2] M. DaBormida, Opensource e copyleft, 2005.

[3] Vari, “Wikipedia, l’enciclopedia libera,” Maggio 2002. [Online]. Available:

www.wikipedia.it

[4] D. Giacomini, Appunti di informatica Libera, 1999. [Online]. Available:

http://a2.pluto.it/a2.htm

[5] E. S. Raymond, La cattedrale ed il bazaar, 1998.

[6] J. R. e. V. J. Gamma E., Helm R., Design Patterns: elementi per il riuso

di software a oggetti, A. Wesley, Ed., 1995.

[7] S. Brunozzi, “Il floss nella pubblica amministrazione,” Maggio

2006. [Online]. Available: http://simpler.wordpress.com/2006/07/03/

software-floss-nella-pubblica-amministrazione/