Software libero e sostenibilità commerciale
di Alessandro Rubini [*]12 novembre 1998, pubblicato nel febbraio 1999
Il progetto di Linus di dominare il mondo, fortunatamente, sta per avverarsi. La sua progressiva affermazione è testimoniata dal comportamento della stampa nei confronti delle soluzioni GNU/Linux e dal fatto che diversi organismi per la formazione abbiano intenzione di introdurre il software libero nelle scuole e così verificarne la superiorità tecnica.
Oggi, nel 1998 (sì, perché sto scrivendo nel 1998), il lavoro più importante che secondo me rimane da fare è diffondere le implicazioni sociali e commerciali del software libero. Pur apprezzando molto l'articolo di Russel Nelson Open Source Software Model, pubblicato nel numero di luglio di LJ, sento il bisogno di approfondire alcuni punti da lui brevemente trattati.
Considerate, però, che non sono un esperto né di economia, né di politica. Sono soltanto un tecnico 'fai da te', che discute basandosi sulla propria esperienza fatta sul campo, nella speranza di aiutare altri nel processo di adattamento a nuovi contesti operativi. Alcune di queste idee sono già state da me discusse con amici o sulla mailing list Free Software Business, <fsb-subscribe@crynwr.com>, di cui sono entrato a far parte dopo aver letto l'articolo di Russell.
Sostenibilità per i consulenti autonomi
La migliore caratteristica di un sistema informatico è la flessibilità, cioè la possibilità di adattare il comportamento del computer alle necessità dell'utente. Tale flessibilità è spesso del tutto sconosciuta all'utente comune, in quanto le soluzioni offerte dal software proprietario tendono a nascondere le funzionalità dietro una rigida interfaccia esterna che non permette alcuna divergenza dal comportamento atteso, quello cioè che ci si aspetta dall'utente.
Quando adottano software libero gli utenti sono nelle condizioni di scoprire le reali possibilità dei sistemi informatici. Proprio oggi ho parlato con un consulente commerciale che non aveva mai pensato che i programmi potessero adattarsi alle esigenze di ciascun utente. Mi ha confessato che la sua azienda si è sempre comportata in modo opposto, adattando cioè i propri bisogni al software che utilizzava. La maggior parte degli utenti è vittima del proprio software, e non se n'accorge nemmeno.
Educare l'utenza di base all'estensibilità del software aprirebbe nuovi mercati ai consulenti autonomi, creando nuove opportunità di lavoro. Ogni utente ha esigenze particolari e soddisfare queste esigenze spesso significa che l'utente stesso richiederà assistenza tecnica a persone che gli personalizzino o estendano il software di cui ha bisogno. Mentre tutto ciò non è nemmeno immaginabile per i programmi proprietari, con il software libero la disponibilità del codice sorgente permette di risolvere rapidamente qualsiasi problema possa presentarsi e di aggiungere facilmente nuove caratteristiche. Si potrebbe pensare che questo possa condurre ad un pacchetto software perfetto, ma le esigenze individuali sono talmente diverse e specializzate che un unico pacchetto non è in grado di soddisfare tutti.
Per esempio, ho scritto, insieme con altri, un programma per un laboratorio di Fisiologia della mia zona che elabora i dati relativi ad un tipo di esperimento molto comune. Nei due anni di utilizzo, i medici hanno trovato talmente tanti modi per estendere il programma che ora questo software è considerato migliore delle soluzioni proprietarie. Se consideriamo il totale di quanto hanno pagato in questi anni, il programma risulta alla fine più costoso di alcune alternative proprietarie. Questo non è determinante per i miei clienti, poiché hanno ottenuto esattamente ciò che volevano e sanno di poter contare su ulteriori modifiche in grado di soddisfare eventuali loro nuove esigenze. Ovviamente il programma è software libero ed altri centri hanno dimostrato interesse ad averne una copia.
Dal momento che sempre più persone scelgono il software libero per soddisfare le proprie esigenze, sono sicuro che alcune società produttrici di software tenteranno di demonizzare GNU/Linux e i movimenti del Software Libero e dell'Open Source a causa della progressiva perdita di segmenti di mercato. E' probabile che tali società cercheranno di dimostrare che il tasso di occupazione nel campo dell'IT è in calo e che l'adozione diffusa del software libero rappresenta un danno per l'umanità. Ma tutta l'argomentazione è semplicemente falsa. I computer esistono per essere programmati e più si permette di programmarli, più si favoriscono opportunità di lavoro. Se si considera il numero di persone che offrono consulenza per il software libero si supera di gran lunga qualsiasi contrazione nell'occupazione dichiarata dalle società di software proprietario. Ritornando al mio esempio precedente, il laboratorio di Fisiologia ha commissionato alla mia società la scrittura del programma e altri centri interessati al prodotto intendono affidare ad un consulente locale l'installazione, la manutenzione e il miglioramento del pacchetto. Ho detto “miglioramento”? Ma allora il programma non funziona? Sì, il programma funziona bene, ma c'è spazio per migliorare il prodotto. Il laboratorio per cui ho lavorato ha deciso di non proseguirne lo sviluppo “perché dobbiamo condurre i nostri esperimenti e non scoprire nuove funzionalità per il programma”. Come tutti sanno, ogni programma ha un difetto e una funzionalità mancante ed è proprio su questo che noi costruiamo la nostra credibilità: i difetti possono essere corretti e le funzionalità possono essere implementate. Come ho suggerito prima, più si rendono le cose programmabili, più saranno programmate.
Perché dovrebbero esserci più opportunità di lavoro nel settore informatico di quante ce ne siano attualmente? Prima di tutto, perché gli utenti di software libero richiedono nuove funzionalità più spesso di quanto lo facciano gli utenti di prodotti proprietari, come ho precedentemente spiegato. Poi, perché chiunque può costruire la propria professionalità senza dover pagare tributi per accedere alle fonti dell'informazione di cui ha bisogno. Ho costruito le mie competenze studiando il codice sorgente e sperimentando sul mio computer economico. E ora ritengo di poter risolvere qualsiasi problema i miei clienti possano avere (a patto che mi si dia abbastanza tempo per trovare la soluzione), ed essi lo sanno.
Un altro punto critico, oltre alla disponibilità del codice sorgente, è la standardizzazione dei formati dei file, un settore in cui i prodotti proprietari stanno rivelando le loro caratteristiche peggiori. Immaginiamo un ambiente in cui tutti i formati dei file del sistema siano noti: si potrebbe, per esempio, indicizzare ogni documento prodotto, facilitandone così il successivo recupero. Questo può essere realizzato off line senza pesare in alcun modo sul personale non tecnico. Per molti utenti questo riutilizzo asincrono dei dati è “fantascienza”, perché sono abituati a programmi che utilizzano formati di file proprietari (e sistemi operativi senza reali capacità di multitasking o di pianificazione dell'esecuzione dei programmi). Non appena vengono adottati gli standard liberi, gli utenti iniziano a richiedere personalizzazioni e sono disposti a pagare per qualsiasi cosa incrementi la loro produttività. Inoltre, gli standard liberi garantiscono ai clienti di non fare scelte sbagliate: non si ritroveranno mai vincolati a dati inutilizzabili nel caso di cambiamenti nel mercato del software.
Mentre il modello convenzionale di distribuzione del software accentra tutta la conoscenza nelle mani di poche imprese (o di una soltanto), gli standard aperti mettono la conoscenza tecnica a disposizione di chiunque voglia imparare. Laddove l'assistenza su un prodotto proprietario può essere fornita soltanto da un numero limitato di consulenti autorizzati, le cui quantità e qualità sono gestite in modo centralizzato, il numero di consulenti che supportano una soluzione di software libero è virtualmente illimitato e l'offerta può velocemente adattarsi alla domanda.
In un mondo in cui i computer non sono altro che strumenti per raggiungere altri fini, la facilità di personalizzazione e la velocità di manutenzione sono requisiti essenziali per gli utenti che li utilizzano intensivamente. A mio avviso, il software libero si guadagnerà rapidamente la fiducia necessaria per diventare un vero e proprio fenomeno di mercato. Non appena si dà fiducia ad alcuni prodotti di software libero, si capisce che ne meritano di più. I sostenitori di GNU/Linux devono essere pronti ad offrire assistenza per poter soddisfare la futura richiesta di consulenti.
Sostenibilità per le società di assistenza tecnica
Naturalmente, i consulenti privati non riescono a coprire tutti i bisogni degli utenti di computer. Parecchie attività non possono essere gestite da singoli individui. Red Hat e S.u.S.E. stanno dimostrando che creare e tenere aggiornata una distribuzione può costituire una buona fonte di reddito anche se il prodotto può essere liberamente ridistribuito. Anche il progetto intorno a Debian è in via di realizzazione, sebbene in fase meno avanzata, principalmente perché sia Red Hat sia S.u.S.E. confezionavano insieme prodotti proprietari e pacchetti liberi per sopravvivere quando la fetta di mercato era ridotta, mentre Debian è sempre stata completamente slegata dai prodotti proprietari, e lo è tuttora.
Oltre alle attività di “creazione e pacchettizzazione” o “raccolta e pacchettizzazione” del software, le società possono specializzarsi nell'assistenza tecnica, occupandosi di tutte quelle situazioni in cui i sistemi informatici siano di importanza critica. Alle realtà costituite dalle grandi imprese che utilizzano sistemi informatici nel loro ambiente produttivo non basteranno né un consulente esterno né un tecnico interno. Esse devono poter contare su una struttura esterna in grado di garantire il funzionamento continuo, 24 ore su 24, dei loro strumenti tecnologici.
Anche se è dimostrato che GNU/Linux o qualunque altro sistema operativo è totalmente affidabile, chi lo utilizza intensivamente avrà comunque bisogno di poter contare su una società di assistenza come forma di assicurazione. Più i computer sono importanti per un ambiente produttivo, più le persone sono disposte a pagare per essere sicure che tutto continuerà a funzionare e per poter far intervenire un “responsabile” in caso di guasto. Un contratto di questo tipo, di assistenza tecnica per “utenti intensivi”, potrebbe anche prevedere forme di risarcimento in caso di interruzione del servizio. Le grandi società di assistenza saranno in grado di gestire in modo efficace tali clausole e i clienti saranno contenti di pagare cifre anche elevate anche se non avranno mai bisogno di interventi di assistenza.
In breve, non vedo alcun motivo per cui le società produttrici di software debbano mantenere diritti esclusivi sui loro prodotti: il settore dell'assistenza è abbastanza grande da offrire buone opportunità commerciali nelle Tecnologie dell'Informazione. Quelle che vogliono eccellere potrebbero impiegare parte degli introiti per finanziare lo sviluppo del software libero, garantendosi in tal modo l'accesso al software migliore prima di altri e associando ad esso il loro nome. In realtà, questo sistema viene già utilizzato dalle grandi distribuzioni.
Sostenibilità per i centri di formazione
Va da sé che scuole ed università hanno un grande interesse ad insegnare le Tecnologie dell'Informazione utilizzando solo software libero. Grazie alla loro superiorità tecnica, gli ambienti messi a disposizione dal software libero offrono agli studenti maggiori possibilità, ma hanno anche bisogno di maggiori conoscenze tecniche per essere amministrati in modo efficace. Non vedo un significativo risparmio di denaro nella scelta di sistemi operativi liberi invece che proprietari, ma le istituzioni e le agenzie di formazione potrebbero spendere meglio il loro denaro per assumere amministratori di sistema piuttosto che sovvenzionare società commerciali già troppo ricche. Mentre il mio Paese, l'Italia, rimane bloccato da normative che favoriscono l'acquisto di beni piuttosto che l'impiego e lo sviluppo di risorse umane, altri paesi si stanno già muovendo nella direzione giusta: il Messico e la Francia, ad esempio, hanno già annunciato progetti per l'utilizzo di GNU/Linux nelle loro scuole pubbliche.
C'è un altro aspetto a favore del software libero nel campo dell'istruzione: quando gli studenti trovano lavoro preferiscono impiegare strumenti il cui uso sia già stato da loro appreso a scuola, per poter minimizzare ulteriori sforzi di apprendimento. Questo fatto dovrebbe spingere le scuole ad utilizzare con gli studenti soltanto software non proprietario, cioè software libero. Le scuole dovrebbero insegnare ad utilizzare il software proprietario solamente in due casi: quando non fosse praticabile nessun'alternativa e quando la società distributrice di tale software le pagasse per insegnare ad utilizzare il suo prodotto. Pagare una società per pubblicizzarle un prodotto è decisamente un controsenso.
Questioni sociali
Ci sono alcune questioni sociali legate alla scelta di un tipo di software piuttosto che un altro. Nonostante preferisca chiamarle sociali, esse hanno anche implicazioni economiche.
Benché il software libero possa non essere più economico del software proprietario quando si attribuisce un costo al proprio tempo, ambienti operativi diversi utilizzano criteri diversi per convertire il tempo in denaro. La maggior parte dei paesi emergenti ha buone risorse intellettuali ma poco denaro, e dispongono anche di molti computer non molto recenti. Questi Paesi non possono permettersi sistemi operativi proprietari: le soluzioni libere invece sono sostenibili e produttive. In effetti, il documento “Halloween” conferma la mia opinione sottolineando che in Estremo Oriente l'uso di “Linux” è in rapidissima crescita. Le associazioni di volontariato presentano questo stesso tipo di situazione: poco denaro e un buon numero di risorse umane. Questo porta direttamente alla scelta del modello del software libero per qualsiasi esigenza nelle Tecnologie dell'Informazione.
Queste idee probabilmente suggeriscono che la libera disponibilità dell'informazione sia piuttosto di sinistra, poiché “l'informazione alle masse” suona piuttosto simile al vecchio slogan “il potere alle masse”. Ciò che di solito viene ignorato è il forte sapore di destra del movimento del software libero. L'arena del software libero è ferocemente meritocratica e rappresenta l'ambiente ideale per la libera competizione, ambiente in cui le leggi del mercato assicurano che soltanto le idee migliori e i migliori giocatori sopravvivano. Gli standard proprietari tendono invece a ridurre la competizione diminuendo l'innovazione e consolidando i risultati precedenti.
Limiti del modello del software libero
Naturalmente, sono consapevole che non tutti i pacchetti software possono essere facilmente trasformati in software libero. Non mi riferisco qui ai prodotti per l'ufficio: credo che prima o poi verranno realizzati alcuni buoni progetti anche in questo campo.
Penso piuttosto a tutti gli ambienti in cui c'è una forte concorrenza per un prodotto basato solo in parte sulla sua componente software. Per esempio, un'apparecchiatura industriale può comprendere un computer e componenti hardware (un robot, periferiche custom di I/O, PLC, ecc.). Il software applicativo contenuto nel computer è una piccola parte del tutto, ma le sue caratteristiche influenzano pesantemente il valore complessivo dell'apparecchiatura. La produzione e il debugging di queste applicazioni richiedono di solito ingenti investimenti: in questo modo viene impedita la libera ridistribuzione del codice sorgente, come forma di protezione nei confronti della concorrenza.
Un altro esempio significativo sono i telefoni cellulari. I cellulari contengono molto software, anche se praticamente invisibile all'utente finale, il quale percepisce l'apparecchio come telefono piuttosto che come computer. Il software in questione è la componente che determina le capacità complessive dell'apparecchio. E, a causa del suo importante ruolo funzionale, è strettamente proprietario.
Purtroppo non vedo una soluzione semplice per arrivare alla liberalizzazione di questo tipo di codice. Nonostante non mi interessino molto i telefoni cellulari (non li uso :), mi piacerebbe però vedere applicazioni industriali libere perché di solito vale la pena riutilizzare e adattare a nuovi problemi il loro contenuto tecnologico.
[*] Alessandro scrive software libero per vivere e sostiene il software libero come missione. Spera che il figlio che nascerà si terrà alla larga dai computer ricordandosi dei buoni vecchi tempi quando tali bestie rimanevano confinate nei loro zoo tecnologici. Alessandro legge le e-mail all'indirizzo <rubini@gnu.org> e cerca di rispondere a tutti.
Ristampato con il permesso di Linux Journal.