| Software
Free, Open e Proprietario
Un computer per poter essere di qualche utilità deve
essere necessariamente completo nelle sue due parti essenziali:
l'hardware e il software. La prima è composta dalle parti fisiche
del computer stesso: schede, monitor, tastiera ecc...; la seconda
riguarda il sistema operativo (ovvero l'ambito in cui i programmi
dovranno lavorare) e i programmi per eseguire specifiche operazioni
come elaborazione di testi, ritocco fotografico, archiviazione
dati ecc...
Nelle righe che seguono daremo alcune semplici e parziali
informazioni che tutti gli utenti dovrebbero sapere sulle varie
modalità di intendere, produrre e distribuire software. Per fare
questo abbiamo attinto informazioni sulla Rete e le abbiamo sintetizzate
per un primo approccio al problema. Ci auguriamo comunque che
le nostre limitate conoscenze e la necessità di semplificazione
non creino distorsioni o imprecisioni non volute, per cui accetteremo
volentieri eventuali contributi e appunti. Per chi volesse invece
approfondire gli argomenti trattati consigliamo una visita al
sito www.milug.org
.
Innanzitutto è da rilevare che esistono essenzialmente
due filosofie di progettazione, produzione e distribuzione del
software, quello proprietario e quello libero/aperto.
In massima sintesi la differenza fondamentale consiste nell'inaccessibilità
alla conoscenza degli aspetti costitutivi (codice sorgente) del
software proprietario, e la completa trasparenza e accessibilità
al codice per il software libero/aperto (chiamato comunemente
free software e open software).
Il nostro intento è quello di portare a conoscenza
degli utenti la filosofia del free e open software:
Il movimento del "free software"
è stato fondato nel 1984 e precisamente significa che hai la libertà
di studiare, cambiare e ridistribuire il software che usi. Queste
libertà permettono alle persone di aiutare se stesse e di aiutarsi
a vicenda, e cioè di partecipare ad una comunità. Questo contrasta
con il più comune software proprietario, che lascia gli utenti
senza aiuto e divisi: il funzionamento interno è segreto e ti
è proibito condividere il programma con il tuo vicino. Il software
potente ed affidabile ed i miglioramenti tecnologici sono utili
se frutto della libertà.
Nel 1991, il kernel Linux scritto da Linus Torvalds
ha riempito l'ultimo tassello; di lì a poco il sistema libero
GNU/Linux era disponibile. Oggi milioni di utenti usano GNU/Linux
e condividono i benefici della libertà e della comunità.
Il movimento "Open Source", che è
stato lanciato nel 1998, mira a sviluppare software potente ed
affidabile ed a migliorare la tecnologia, invitando il pubblico
a collaborare allo sviluppo del software.
Per amore della cooperazione, si incoraggiano altri
a modificare ed estendere i programmi che vengono pubblicati.
Per amore della libertà viene posta la condizione che le versioni
modificate dei programmi devono rispettare la libertà proprio
come le versioni originali. Si incoraggia la cooperazione bidirezionale
rifiutando i parassiti: chiunque desideri copiare parti del software
nel suo programma deve permettere l'uso di parti del suo programma.
Nessuno è costretto ad aderire all'open source, ma coloro che
volessero partecipare devono offrire la stessa cooperazione che
ricevono. Questo rende il sistema equo.
Ma quali sono le caratteristiche che contraddistinguono
il Software Libero?
Il software si intende libero quando nella sua licenza
sono garantite le seguenti quattro libertà:
0 - libertà di eseguire il programma per qualunque
scopo, senza limitazioni;
1 - libertà di modificare il programma (l'accesso
ai sorgenti è condizione essenziale);
2 - libertà di copiare il programma senza
limitazioni;
3 - libertà di modificare il programma e distribuire
le copie modificate (l'accesso ai sorgenti è condizione essenziale).
Freeware:
Con questo nome si intendono programmi proprietari gratuiti liberamente
scaricabili o distribuibili. Sono distribuiti per la maggior parte
dei casi solo in forma binaria e sono sviluppati da un'unica entità.
Non si qualificano come Software Libero perché non garantiscono
le libertà 1 e 3. Quasi mai si tratta di software importante per
un ambiente produttivo, ma a volte hanno funzionalità più o meno
utili.
Il freeware non garantisce alcun ritorno economico
verso l'autore (sono gratuiti) se non indirettamente sotto forma
di fama e pubblicità personale. All'utente finale il software
è fornito "così come é" senza alcuna garanzia di funzionamento
o assistenza.
Shareware:
Questa categoria di programmi implementa le regola "try-before-you-buy",
ovvero "prima-provi-poi-paghi". I programmi shareware
non si qualificano come Software Libero perché non garantiscono
le libertà 1 e 3. A volte non è disponibile nemmeno la libertà
2 e la 0.
Tramite il meccanismo dello shareware gli sviluppatori
possono fare conoscere il proprio programma senza dover chiedere
un pagamento in anticipo. E` necessario implementare un sistema
di controllo e verifica delle registrazioni delle licenze insieme
ad un sistema di micro-pagamenti. Il costo di questo sistema non
è banale e viene compensato soltanto con un adeguato volume di
vendite, difficilmente prevedibile.
L'utente finale ha il vantaggio di poter verificare
se il software davvero funziona come pubblicizzato prima di pagarlo.
Nessuno può però garantire per quanto tempo verrà garantita assistenza
dal produttore, né con che velocità verranno corretti eventuali
malfunzionamenti, né se e quando verranno implementate nuove funzioni.
Un caso particolare sono i programmi "demo"
o "versioni dimostrative", rilasciati solitamente con
una limitazione nelle funzionalità o nel tempo di utilizzo. Vengono
usate a scopo promozionale dai colossi del settore per catturare
nuovi clienti o per strapparli alla concorrenza. Non si qualificano
come Software Libero perché non garantiscono le libertà 0, 1 e
3.
In tutti questi casi è necessario impiegare risorse
per il marketing e la commercializzazione, oltre che per il supporto
e l'assistenza ai clienti. In pratica significa confrontarsi ad
armi impari con i leader del settore in cui si colloca il nuovo
programma.
Vantaggi del rilascio del Software Libero
Il modello di sviluppo del software libero ha già dimostrato
di avere successo: a parte il kernel Linux e l'intero sistema
GNU/Linux, il settore in cui questo modello di sviluppo ha dimostrato
la sua incredibile forza sono i Desktop Environment e le GUI.
Quattro anni fa non esistevano dei desktop integrati per il sistema
GNU/Linux ma oggi (giugno 2001) ci sono ben due prodotti maturi:
KDE e Gnome. Quest'ultimo è talmente avanzato e potente da essere
stato adottato da Sun Microsystems come ambiente di desktop ufficiale
del suo sistema operativo (Solaris) al posto del precedente sistema
proprietario. Tutto questo è accaduto in soli quattro (4) anni:
nessuna compagnia software può sperare di avere altrettanto successo
in così poco tempo.
Alcune osservazioni sulle peculiarità del software
Questo prodotto ha in sé una caratteristica che non è presente
in altri più tradizionali: è duplicabile in maniera molto veloce
e la copia non è distinguibile dall'originale (se non in maniera
artificiosa: leggi i vari bollini o le varie protezioni).
Un prodotto software consente quindi, una volta realizzato,
una sorta di "rendita", nel senso che può essere venduto
in un numero illimitato di copie senza ulteriori investimenti
produttivi. Questa situazione è molto anomala rispetto ad altri
tipi di industrie, in cui ogni esemplare di un prodotto richiede
un certo lavoro per la sua realizzazione e quindi ha un costo
ben quantificabile.
Si è assistito, con la nascita dell'industria del
software, al parallelo sviluppo di una nuovo concetto: realizzare
un prodotto e venderlo, immutato, quante più volte possibile,
con un guadagno del 100%. Questa è una grossa anomalia: non a
caso il prezzo finale di un prodotto è teorizzato essere pari,
in un mercato concorrenziale ideale, al prezzo marginale dello
stesso, intendendosi per prezzo marginale il costo di produzione
a regime, tolti gli investimenti iniziali. Guarda caso, il costo
marginale del software è zero! La distribuzione gratuita del software
rientra quindi nei modelli economici dell'economia più classica.
Ma coloro che utilizzano la licenza GPL non sono dei
missionari che lavorano per il bene dell'umanità senza alcun tornaconto
personale, ma programmatori che con il loro lavoro devono vivere!
Questo non è assolutamente in contrasto con l'approccio GPL (Gnu
Public License) al software: il punto fondamentale da considerare
è che bisogna separare il "lavoro" dal "risultato
del lavoro".
Facciamo un esempio molto banale della vita quotidiana
e dell'economia classica: se chiamo un falegname per farmi costruire
una sedia, gli pago il materiale ed il tempo che ha perso, ma
poi uso la sedia come mi pare: mi ci siedo, la smonto, la rompo,
la vendo. Il falegname vive facendo sedie ed è pagato per costruirle:
una volta fatto il suo lavoro, non si occupa più del prodotto.
Nello stesso modo posso chiamare un programmatore, farmi scrivere
il software che mi serve, e pagarlo per il suo lavoro.
Il programmatore vive scrivendo software, ma il fatto
che una volta scritto un programma, questo venga venduto non 1
ma 10, 100, 1000 volte non è affatto una cosa scontata, e soprattutto
non è una pratica che si trova in altre attività industriali che
pure sono economicamente redditizie.
Senza dubbio, chi si trova nella posizione di poter
ricevere una "rendita" per vari anni da un prodotto
da lui sviluppato, tenderà a non lasciarsi scappare l'occasione,
ma storicamente abbiamo già assistito ad una situazione del genere:
con la nascita della borghesia, assistiamo alla contrapposizione
fra persone che si arricchiscono con il lavoro, e persone (le
grandi casate nobiliari) che vivono con la rendita dei loro possedimenti.
In fondo una ditta che possiede un prodotto e continua e vivere
di rendita, non è altro che un vecchio barone che spera di vivere
con i proventi della sua tenuta.
Competitività o Cooperazione?
Fra i fautori del software proprietario vi è (ovviamente)
la Microsoft, convinta propugnatrice della insostenibilità del
software libero e aperto. A tal proposito riportiamo alcuni brani
della risposta dell'open source tramite Alan Cox a Craig Mundie
vicepresidente della Microsoft:
«Io vorrei che la gente prendesse quantomeno in
considerazione il fatto che il modello non sostenibile è quello
del software proprietario. Craig fa cenno all'importanza dei "Diritti
di Proprietà Intellettuale". Sostenendo che questi sono la
chiave del successo commerciale analizza un gran numero di esempi.
Prima di tutto la maggior parte dei grandi salti dell'epoca informatica
sono avvenuti nonostante e non grazie ai diritti di proprietà
intellettuale. In effetti prima di internet i protocolli di rete
proprietari dividevano i clienti, li legavano strettamente ai
fornitori e li forzavano a scambiare la gran parte dei dati via
nastro.
Il potere della rete non è stato reso libero dall'esistenza
della proprietà intellettuale, ma dall'innovazione libera e aperta,
condivisa da tutti. Internet non è il prodotto di una grande azienda.
Queste importanti tecnologie sono state create da un'innovazione
cooperativa. Il progresso nasce dalla tecnologia libera e aperta.
La tecnologia proprietaria può creare innovazioni ma a un costo
molto elevato. I clienti non sono in grado di mettere insieme
le innovazioni introdotte dalle aziende produttrici in concorrenza
tra loro. Essi pagano anche un prezzo elevato in termini di mancanza
di facilità d'uso. Provate a usare il correttore ortografico di
Wordperfect con Microsoft Word.
Craig parla anche di standard. Microsoft parla molto
di standard. Le persone che hanno provato a lavorare con gli standard
Microsoft possono dirvi che sono selettivi al massimo. Nell'Halloween
memo, Microsoft ha parlato di "Abbracciare ed estendere".
Stanno lavorando duro su questo. ".NET" è un tentativo
di costruire una rete di servizio proprietaria sopra a una internet
aperta: in effetti si tratta di bloccare i clienti agli strati
piu' alti del modello OSI a sette strati. Exchange supporta protocolli
internet come SMTP e IMAP. Però molte delle caratteristiche avanzate
sono misteriosamente disponibili solo con client Microsoft. Se
prendi un server Microsoft devi prendere client Microsoft. Se
vuoi usare Microsoft Project devi avere un sistema operativo Microsoft
e alla fine devi far girare metà dell'azienda su un sistema operativo
Microsoft.
Craig proclama "Computers, periferiche e servizi
saranno in grado di collaborare direttamente gli uni con gli altri,
e le aziende saranno in grado di offrire i propri prodotti e servizi
in una maniera che favorisce l'uso del web da parte dei clienti"
Chissà come mai le parole "ammesso che essi utilizzino prodotti
Microsoft" sono state lasciate indietro...
(I sostenitori del software proprietario si basano)
sul controllo e sulla "proprietà del codice". Il Free
Software si basa sul generare profitti facendo lavori che il cliente
richiede e per cui è disposto a pagare. Riconosce che molto del
software attuale è un prodotto di uso quotidiano e che il software
proprietario, con tutte le sue esagerazioni, è in effetti un modello
non sostenibile di business per prodotti di uso quotidiano...
Al generico produttore di fagioli in scatola non importa
molto dei diritti di proprietà intellettuale. Si preoccupa invece
di fornire ai clienti i prodotti che essi vogliono, e di vendere
un gran numero di pezzi. Una azienda Free Software si preoccupa
di fornire ciò che il cliente vuole, di vendere molti servizi,
e si cura della personalizzazione e dei miglioramenti al software
poiché i clienti pagano per tutto questo. Questo è riconoscere
che con oltre un centinaio di milioni di computer nel mondo, un
gran quantità di software è assolutamente al livello dei fagioli
in scatola. L'ossessione di vendere software e controllare i clienti
continua poi attraverso tutto il discorso di Craig. Egli non sembra
in grado di comprendere il concetto della vendita dei servizi
e della rapida realizzazione basandosi su codice aperto...
In un ambiente Free Software i clienti controllano
la direzione verso cui va il software. Se nessuno vuole che vada
avanti in un certo modo, nessuno pagherà perché questo avvenga.
Ci sono delle "deviazioni" nell'albero di Linux, ma
esistono per sistemi fortemente embedded (specializzati). In questo
caso i clienti intenzionalmente spingono verso una deviazione
dall'albero principale per creare sistemi fortemente specializzati
per applicazioni fortemente specializzate. Forse il modo migliore
per rendere l'approccio di Microsoft è "Microsoft sa cosa
è meglio. Papà deciderà cosa è giusto per te". nessuno stupore
che gli sviluppatori embedded stiano migrando verso sistemi Linux.
Con Linux essi possono personalizzare ciò che devono, cosa che
fanno con molti dei più bizzarri sistemi embedded. Con Microsoft
devi comprare una "deviazione" preconfezionata e vivere
con quella - 98, ME, NT, 2000...
Nel parlare dei rischi Craig si diffonde sul rischio
della perdita dei Diritti di Proprietà Intellettuale, ma trascura
stranamente di interrogarsi sui molti rischi del software proprietario...»
All'attacco del vicepresidente Microsoft Craig Mundie
contro l'open source, risponde anche Linus Torvalds, famoso autore
di Linux:
«... Le sue affermazioni sembrano concentrarsi sulla
asserzione che la ricerca e lo sviluppo siano fondate sui principi
della "importanza dei diritti della proprietà intellettuale".
La qual cosa ignora completamente il fatto che una buona parte
di tutte le scienze e le tecnologie moderne si fondano su ideali
molto simili a quelli dell'open source.
Quando Mundie vuole che voi pensiate a tutto il lavoro
che le aziende hanno fatto per brevettare i loro prodotti, vuole
anche che dimentichiate a tutto il lavoro fatto da persone come
Einstein, Rutherford, Bohr, Leonardo da Vinci ed un sacco di altre
persone che hanno fatto molto più per l'umanità di quanto la maggior
parte delle aziende abbiano mai fatto.
E queste persone lo fecero per l'amore dell'arte,
non per qualche bel "diritto di proprietà intellettuale".
Ciononostante Mundie, con la faccia seria, afferma che questi
diritti di proprietà intellettuale sono il motore che fa muovere
la scienza e la tecnologia. Sembra pensare che la Microsoft abbia
fatto più per l'economia americana di quanto abbia mai fatto la
scoperta dell'elettrone.
Mi domando se Mundie abbia mai sentito parlare di
Sir Isaac Newton? Non è solo famoso per aver gettato le basi della
meccanica classica (e la teoria generale della gravità, che è
quello che la maggior parte della gente ricorda, insieme con la
storia della mela caduta dall'albero), ma è anche famoso per come
riconobbe il suo raggiungimento:
"Se sono stato capace di vedere oltre, è solo
perché ero appollaiato sulle spalle di giganti".
Uno dei più grandi scienziati del nostro tempo, avendo
fatto molto più per la tecnologia moderna (e quindi, guarda caso,
anche per l'economia moderna) di quanto la Microsoft possa mai
fare, ha riconosciuto il fatto che era riuscito nella sua impresa
proprio per la possibilità di usare la conoscenza degli altri
(quella che ora chiamiamo "proprietà intellettuale").
Mundie getta tutto al vento, perché vuole che la Microsoft
possieda tutto, e ne ricavi tonnellate di denaro.
Io ascolterei Newton più che Mundie. Potrebbe anche
essere morto da trecento anni, ma impesta meno l'aria...»
E ancora, Richard M. Stallman risponde alle affermazioni
di Jim Allchin, Capo della divisione sistemi operativi di Microsoft:
«... Milioni di utenti, decine di migliaia di sviluppatori
e aziende grandi come IBM, Intel e Sun, hanno scelto di partecipare
su queste basi. Ma alcune aziende vogliono i vantaggi senza le
responsabilità.
Di tanto in tanto le aziende ci hanno detto: "faremmo
una versione migliore di questo programma se ci permettereste
di rilasciarlo senza la libertà"
Noi diciamo, "No grazie -- le tue migliorie potrebbero
essere utili se fossero libere, se non possiamo usarle in libertà
non sono affatto buone". Poi si appellano al nostro ego dicendo
che il nostro codice avrà "più utenti" all'interno dei
loro programmi proprietari. Rispondiamo che noi consideriamo maggiormente
la libertà della nostra comunità rispetto ad una irrilevante forma
di popolarità.
Microsoft vorrebbe sicuramente avere i benefici del
nostro codice senza le responsabilità. Ma ha un'altro, più specifico
proposito nell'attaccare la GNU GPL. Microsoft è generalmente
conosciuta per l'imitazione piuttosto che per l'innovazione. Quando
Microsoft fa qualcosa di nuovo, il suo fine è strategico -- non
per migliorare l'informatica per i suoi utenti, ma per escludere
alternative per loro.
Microsoft utilizza una strategia anticompetitiva chiamata
"embrace end extend" (afferra ed estendi).
Questo vuol dire che parte con una tecnologia che
altri usano, aggiunge un piccolo stratagemma segreto così che
nessun'altro possa imitarlo, poi usa questo stratagemma in modo
che soltanto il software Microsoft possa comunicare con altro
software Microsoft. In qualche caso, questo ti rende difficile
utilizzare un programma non Microsoft quando altri con i quali
lavori utilizzano programmi Microsoft. In altri casi, questo ti
rende difficile utilizzare un programma non Microsoft per il compito
A se usi un programma Microsoft per il compito B. "Embrace
and extend" moltiplica l'effetto del potere di mercato di
Microsoft. Nessuna licenza può fermare Microsoft dal praticare
l'"embrace and extend" se è determinata a farlo a tutti
i costi. Se essi scrivessero i propri programmi da zero, e non
usassero nulla del nostro codice, la licenza sul nostro codice
non avrebbe effetti su di loro. Ma una riscrittura totale è costosa
e difficile, e persino Microsoft non può farlo tutte le volte.
Da lì la sua campagna per persuaderci ad abbandonare la licenza
che protegge la nostra comunità, la licenza che non vuole permettere
che dicano: "ciò che è tuo è mio e ciò che è mio è mio".
Loro vogliono che noi gli lasciamo prendere tutto ciò che vogliono
senza mai darci niente in cambio...
Microsoft dice che la GPL è contro il "diritto
alla proprietà intellettuale". Io non ho opinione sul "diritto
alla proprietà intellettuale" perché il termine è troppo
generico per averne una opinione sensata. è un calderone, che
comprende diritti d'autore, brevetti, marchi, e varie altre aree
della legge; aree talmente differenti, nelle leggi e nei loro
effetti, che qualunque affermazione che le riguardi nel loro insieme
è sicuramente semplicistica. Per pensare intelligentemente riguardo
al diritto d'autore, brevetti o marchi occorre pensarci separatamente.
Il primo gradino è rifiutare di mescolarli assieme come "proprietà
intellettuale"...»
L'utilità del software libero e aperto per i produttori
e gli utenti
Naturalmente un'azienda che faccia proprio il software libero/aperto
(free e open), mantiene comunque margini di guadagno. La disponibilità
di applicativi free e open source è enorme, ma le esigenze delle
persone sono altrettanto diversificate. Capiterà di frequente
che esistano prodotti vicini alle proprie esigenze, ma non perfetti,
e qui una società di software può impegnarsi ad eseguire l'adattamento:
tale lavoro verrà pagato dal cliente, ma il risultato sarà disponibile
per tutti.
Quello che è fondamentale, e fondamentalmente diverso
dal software commerciale tradizionale (proprietario), è che viene
pagata la capacità di fare qualcosa di nuovo, adattato alle esigenze
del cliente, e non viene pagata una cosa già fatta, pensata per
esigenze generali, che di solito, proprio per il fatto di essere
così generali, in realtà non si adatta a nessuno.
Questo è il grosso cambiamento a cui stiamo assistendo:
il software, è quella cosa immateriale che si duplica in un attimo,
la copia è identica all'originale, e la tentazione di vivere di
rendita è fortissima, ma questo può continuare solo fino a quando
l'utente continua a vedere il software come una scatola chiusa
e misteriosa: non appena si rende conto che in realtà è un suo
diritto, una volta comperata la scatola, guardarne il contenuto,
essere informato di cosa la scatola fa, farne a sua volta ciò
che crede, compreso modificarla, visto che all'interno non scorre
certo sangue blu, l'approccio Libero e Aperto sembrerà la cosa
più naturale al mondo.
è necessario ripetere che sviluppare software libero
non è fonte di entrate, ma un costo. La fonte di entrate diventa
la customizzazione (personalizzazione) e il supporto. In alcuni
casi i guadagni possono essere integrati scrivendo libri, insegnando
in corsi ecc (vedi il caso di PERL, python e altri).
Una volta pubblicati i sorgenti dell'applicazione
con una licenza di Software Libero, migliaia di tecnici interessati
le scaricheranno da internet e inizieranno entusiaste ad usarla
in ogni parte del mondo, trovando i limiti e gli eventuali difetti
contenuti e apportandovi i miglioramenti necessari, in una atmosfera
collaborativa di una estensione tale che la stessa Microsoft non
potrebbe mai permettersi.
Anche migliaia di utenti possono usufruire della opportunità
di scaricare ed utilizzare questi programmi, dei quali avranno
bisogno di supporto, di assistenza e ci saranno imprese commerciali
che potranno soddisfare queste necessità per moltissimi anni,
fintanto che il software avrà un grado di utilità.
Se il software ha vasta utilità e il progetto è ben
gestito ci saranno più sviluppatori e più utenti che mantenendo
proprietario il software.
Un esempio pratico di quanto esposto
in questa pagina è il pacchetto di programmi per ufficio StarOffice
(che si propone come ottima alternativa a Office di Microsoft)
distribuito gratuitamente da Sun Microsystems .
Per maggiori dettagli vai alla
pagina seguente
Per altre informazioni sul presente
argomento:
www.linux.it
www.linux.it/GNU/
www.milug.org
|