Il Free Software e il problema dei brevetti sul software

Lorenzo Masetti

in formato PDF (104 K)

Premessa

In questo documento cercherò di riassumere i contenuti del workshop sul software libero che si è tenuto in occasione del Forum Sociale Europeo (Sala Polveriera, venerdì 8 novembre 2002). Tuttavia non sarà un riassunto preciso degli interventi, ma solo una rielaborazione di vari documenti disponibili in rete sugli argomenti che sono stati trattati. La sostanza comunque è questa.

Alcuni concetti preliminari

Per capire quello che sarà detto nel seguito, bisogna avere chiari alcuni termini del mondo dell'informatica e alcuni concetti base sul funzionamento dei computer.

Un po' di terminologia: i programmi scritti nel linguaggio ad alto livello da esseri umani si chiamano "codice sorgente", i programmi che possono essere eseguiti sul computer si dicono "in formato binario" oppure "compilati".

Un importante proprietà del codice sorgente è quella di essere (teoricamente) indipendente dal tipo di processore. Quindi a partire dallo stesso codice sorgente possono essere compilati diversi programmi eseguibili scritti per processori, o per sistemi operativi diversi.

Ho nominato la parola "sistema operativo"... cos'è un sistema operativo? Diciamo semplicemente che il sistema operativo è un programma che si occupa di gestire i vari altri applicativi che vengono eseguiti e di fornire all'utente un'interfaccia per eseguire le operazioni di base. Esempi di sistemi operativi sono: il famigerato Windows, il Mac Os, Linux (!!), il vecchio DOS, ecc...

Da quanto detto finora risulta chiaro che avere a disposizione il codice sorgente permette di modificare un programma scritto da altri e poi ricompilarlo ed ottenere un nuovo eseguibile, questo non è possibile se invece possediamo solo la versione binaria, eseguibile dal computer ma incomprensibile e impossibile da modificare per un essere umano. Per modificare un programma è necessario possederne il codice sorgente.

I programmi che vengono distribuiti con licenza di software proprietaria, a pagamento o no, distribuiscono solo il formato binario e le aziende produttrici custodiscono gelosamente il codice sorgente, che non viene in nessun caso reso pubblico.

Cos'è il software libero

Nel campo informatico stiamo assistendo all'affermarsi di un monopolio che farebbe invidia alle peggiori multinazionali in molti altri campi: il monopolio della Microsoft che utilizza licenze di software proprietario ed anche a prezzi molto alti. Con una politica aziendale molto pericolosa, inoltre, Microsoft tende a imporre le proprie soluzioni come uniche e incompatibili con altri prodotti in modo da essere l'unica dominatrice sul mercato.

Per fortuna questo monopolio non è totale. Un'alternativa esiste, e sta prendendo piede grazie ad alcuni innegabili punti di forza: il software libero.

Il software libero è un tipo di software con licenze che tendono a privilegiare non il proprietario del programmi (si badi bene: il proprietario e non il programmatore, dato che i programmatori che lavorano per grandi software house cedono i diritti all'azienda) ma l'utente e in più generale la collettivita e il progresso della tecnologia. La Free Software Fundation è la fondazione che ha inventato il concetto di software libero. Uno dei principali esponenti della F.S.F. è Richard Stallman. Il progetto principale sostenuto dalla Free Software Fundation è il progetto GNU (acronimo ricorsivo per GNU's not Unix, che fa riferimento al vecchio sistema operativo Unix utilizzato fin dagli anni '70 di cui Linux è un clone) che ha scritto la licenza GPL (GNU Public License) che è la licenza più diffusa per il software libero.

Un punto importante da capire è che software libero non vuol dire solo essere gratuito. Esistono programmi che non si pagano (cosiddetti "freeware") ma il cui codice sorgente non viene reso disponibile. Non si tratta di software libero, ma di software proprietario gratuito!

Definizione di software libero

Questa definizione è tratta dal sito

http://www.gnu.org/philosophy/free-sw.it.html 
dove si trova una definizione più completa.

Il "Software libero" è una questione di libertà, non di prezzo. Per capire il concetto, bisognerebbe pensare alla "libertà di parola" e non alla "birra gratis" [NdT: il termine free in inglese significa sia gratuito che libero, in italiano il problema non esiste].

L'espressione "software libero" si riferisce alla libertà dell'utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software. Più precisamente, esso si riferisce a quattro tipi di libertà per gli utenti del software:

Libertà 0
Libertà di eseguire il programma, per qualsiasi scopo.
Libertà 1
Libertà di studiare come funziona il programma e adattarlo alle proprie necessità. L'accesso al codice sorgente ne è un prerequisito.
Libertà 2
Libertà di ridistribuire copie in modo da aiutare il prossimo.
Libertà 3
Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio. L'accesso al codice sorgente ne è un prerequisito.

Un programma è software libero se l'utente ha tutte queste libertà.

Perché il software libero è migliore?

Un modello di sviluppo vincente

Da quanto detto finora si comincia a capire qual è il modello di sviluppo del software libero. Le aziende che producono software proprietario devono mantenere il codice sorgente segreto, e quindi solo una ristretta cerchia di sviluppatori è coinvolta nella produzione e nella manutenzione del software. Al contrario ogni progetto di software libero, grazie anche allo sviluppo di Internet, ha a disposizione una platea vastissima di sviluppatori che possono concorrere a migliorare il progetto. Il sistema operativo Linux, nato come progetto personale dello studente finlandese Linus Torvalds, ha trovato proprio grazie alla Rete, un'incredibile quantità di persone che negli anni ha lavorato a varie migliorie, portando così un piccolo progetto (che se non fosse stato rilasciato come software libero sarebbe rimasto una curiosità per pochi appassionati) a diventare un ottimo sistema operativo, che grazie alle sue qualità di stabilità e di affidabilità sta creando non pochi problemi al gigante Microsoft.

Il software libero è compatibile con il mercato

Una domanda ricorrente è: "come si fa a guadagnare con qualcosa che non costa niente?" o "chi paga gli sviluppatori di software libero?". Per trovare la risposta a questa domanda bisogna fare uno sforzo e staccarsi da alcuni preconcetti e vedere la figura dello sviluppatore o dell'azienda che investe nel software libero non più come dei "venditori" dei propri prodotti, ma come tecnici specializzati nella personalizzazione, configurazione, manutenzione e documentazione di un software. Inoltre le risorse che gli utenti finali risparmiano affidandosi al software libero possono essere investite nella formazione di figure professionali esperte, questo approccio permette quindi di ottenere risultati migliori a parità di costi, una maggiore cultura informatica generale e un beneficio alla comunità che può usufruire di tutti i programmi liberi sviluppati nel mondo.

Bisogna inoltre ricordare che il software libero non è necessariamente scritto da volontari non pagati. Il software libero è spesso scritto da programmatori professionisti dipendenti da aziende che producono software che vengono pagati per il loro lavoro.

Cosa può spingere un committente a richiedere che il software commissionato sia libero? Un valido esempio può essere la Pubblica Amministrazione, che ha interesse che un programma possa essere utilizzato gratuitamente in altre parti del paese. Un altro caso tipico è quello di piccole aziende che operano nello stesso campo che commissionano un software libero in modo da ridurre i costi (più aziende contribuiscono a pagare lo sviluppatore). Il software libero fornisce un altro innegabile vantaggio per l'utente: una volta che la casa produttrice del software ha consegnato la prima versione del software, le successive modifiche, aggiornamenti e miglioramenti non devono essere necessariamente eseguiti dalla stessa casa e quindi continuano a valere le leggi del libero mercato con un probabile risparmio da parte del committente. Il software proprietario invece pone in una condizione di "sudditanza tecnologica" per cui l'utente può solo, nel migliore dei casi, scegliere tra due o più monopoli, senza però avere la possibilità di "cambiare padrone" una volta fatta la scelta.

Software libero e privacy

Un altro punto di forza del software libero riguarda la salvaguardia della privacy sulla rete. Lo sviluppo di Internet ha portato a un contrasto tra due tendenze opposte. Da una parte Internet ha un potenziale di libertà altissimo: libertà di espressione, di condivisione del sapere, di informazione alternativa a quella ufficiale in paesi dove la libertà di stampa non è garantita, ma anche nei paesi "democratici" del ricco "Occidente" dove su alcuni argomenti esiste una vera e propria "censura invisibile". D'altra parte però alcuni interessi forti tendono a ridurre su internet ogni forma di libertà e a trasformare la Rete in un enorme vetrina dove vendere i loro prodotti. Non solo, appare ormai chiaro un disegno che tende a schedare tutti gli utenti dei Personal Computer e quindi, entro un tempo abbastanza breve, in pratica tutti gli abitanti dei paesi ricchi. L'obiettivo è conoscere tutto ciò che può interessare dal punto di vista commerciale: i nostri gusti, le nostre scelte, il nostro conto in banca. Per di più, seguendo una tendenza che ormai sembra divenuta dominante in tutto il mondo occidentale e in particolare negli Stati Uniti, si vogliono costringere i cittadini a rinunciare ad alcune libertà civili fondamentali in cambio di una presunta maggiore sicurezza contro i pericoli del terrorismo. E così si progettano sistemi che permettano di "spiare" le e-mail, di accedere remotamente e silenziosamente ai contenuti di qualsiasi personal computer. E non c'è da stare tranquilli pensando "ma che leggano pure le mie e-mail, che l'FBI guardi pure cosa ho dentro al mio computer tanto io non ho nulla da nascondere". Questo ragionamento ha molti punti deboli. Innanzitutto, anche supponendo che chi può legalmente accedere ai dati del vostro computer abbia solo l'intento nobile di evitare attacchi terroristici, dal momento che è tecnicamente possibile (dato che ne è stata lasciata deliberatamente la possibilità) accedere ai vostri dati riservati, chi vi assicura che chiunque altro possa utilizzare lo stesso metodo per scopi meno leciti? Inoltre, dopo l'11 settembre, abbiamo visto con quanta arbitrarietà si possano applicare le leggi antiterrorismo per limitare le libertà civili. Il metodo per difendersi da tutto questo esiste ed è proprio il software libero, ed è facile capire perché. Facciamo un esempio reale di un utilizzo spregiudicato di un software proprietario per ledere la privacy di un utente. Tempo fa esisteva un programma della Real (la ditta di che produce anche Real Player) chiamato Real Jukebox (inutile provare a cercarlo, è stato ritirato e alla Real negano di aver mai prodotto un software con questo nome!) che permetteva di suonare file MP3 e di mantenere una lista delle proprie canzoni preferite. Sottobanco questo programma svolgeva anche un'altra operazione: si collegava al sito della Real e spediva la lista di tutti i vostri mp3. Presumibilmente queste informazioni venivano usate per statistiche di mercato dalle industrie discografiche, o qualcosa del genere. Potreste obiettare che questo comportamento della Real, pur essendo scorretto, non è particolarmente dannoso per l'utente. Resta però un dato di fatto: un software proprietario può eseguire delle operazioni "di nascosto" dall'utente, senza che questo abbia modo di accorgersene facilmente. Rimane per esempio un mistero cosa la Microsoft scriva all'interno dei file Word oltre al testo del documento, dato che il formato doc non è un formato aperto, cioè non sono pubbliche le specifiche. Leggende metropolitane raccontano che oltre ai vostri dati personali, ogni documento Word contiene nascosto al suo interno pezzi di email o di altri dati riservati. Ancora una volta: potrebbe non essere vero, ma quello che più importa è che con il software proprietario non è possibile avere un controllo sulle operazioni eseguite.

Con un software libero nessuna operazione nascosta che preveda la violazione della privacy è possibile. Infatti, essendo il codice accessibile a tutti, nessun programmatore si sognerebbe di inserire all'interno del codice una caratteristica nascosta che viola la privacy dell'utente e che esula dallo scopo del programma. I pezzi di codice che svolgessero questa operazione sarebbero infatti individuati da altri programmatori che ottengono il codice sorgente, che provvederebbero immediatamente a eliminare la porzione di codice incriminata, mentre chi aveva sviluppato quell'aggiunta pericolosa diventerebbe malvisto all'interno della comunità degli sviluppatori. Quindi il software libero è al sicuro da ogni falla lasciata aperta intenzionalmente, da ogni operazione nascosta. Per questo motivo il governo cinese ha deciso di usare Linux sui computer pubblici, per paura che il software Microsoft potesse contenere dei sistemi che permettessero alla CIA di entrare in possesso di informazioni riservate. Mi ripeto ancora una volta: è vero che Windows contiene questi "passaggi segreti"? forse no, ma, dal momento che si tratta di software a sorgente chiuso, non è possibile saperlo.

Il software libero nel "sud del mondo"

Il software libero può avere un ruolo molto importante nell'informatizzazione dei paesi del cosiddetto "sud del mondo". La scelta tra software libero o proprietario è di importanza fondamentale in questo momento. Questi paesi devono scegliere tra due alternative: la prima è quella di diventare dei semplici utenti di una tecnologia sviluppata nei paesi più ricchi e per la quale dovrebbero spendere cifre spesso irraggiungibili, restando in qualche modo succubi delle grandi aziende nord-americane; la seconda alternativa è scegliere il software libero, ottenere una tecnologia migliore e più versatile, per di più gratuita, che permetterebbe loro di contribuire all'arricchimento della comunità degli sviluppatori software. Il discorso delle risorse che possono essere spese in formazione, anziché per pagare le licenze di software proprietario è ancora più importante in paesi dove i soldi da investire in questo campo sono pochi. Una scelta del software libero porterebbe ad un'alfabetizzazione informatica più veloce e darebbe una concreta possibilità a miliardi di potenziali geni informatici (che non possono trasferirsi tutti a Seattle!).

Alcuni passi in questa direzione sono già stati fatti. È stato molto interessante a questo proposito l'intervento del brasiliano Marcelo Branco, consigliere del presidente Lula per le politiche in campo informatico, che ha descritto la situazione del Software Libero nel suo paese. Una realtà molto rosea, il software libero nella pubblica amministrazione è la regola in Brasile. Ha colpito tutti l'immagine del bancomat brasiliano con il logo del pinguino: i bancomat in Brasile funzionano con Linux!

Brevetti software: un danno per la società

L'ultimo argomento ampiamente dibattuto durante il Workshop è stata la questione dei brevetti sul software. I brevetti software sono già una realtà negli Stati Uniti e rischiano di essere introdotti per legge anche in Europa.

Per capire come mai l'idea dei brevetti sul software è assurda, bisogna fare un passo indietro e capire il motivo per cui è stato introdotto il brevetto. Prima dell'introduzione del brevetto si utilizzava il segreto industriale per proteggere le proprie invenzioni. Tuttavia le invenzioni meccaniche erano facilmente copiabili: bastava smontare una macchina per capire come funzionasse. Inoltre il segreto industriale, quando si riesce a mantenerlo, è un danno per la società perché impedisce la condivisione delle conoscenze e quindi il progresso. Per proteggere gli investimenti delle aziende nella ricerca nacque l'idea del brevetto: l' "inventore" brevettava la sua invenzione, rendendola così nota a chiunque, in cambio otteneva un monopolio legale per un periodo di tempo limitato, che oggi è di circa 20 anni in tutti i paesi che adottano i brevetti. Grazie a questo stratagemma, le industrie venivano incentivate a investire nella ricerca, perché il periodo di monopolio permetteva di recuperare i soldi spesi.

Questo sistema può essere criticato anche nelle sue linee generali, infatti con l'introduzione del brevetto il segreto industriale non è scomparso: gli industriali lo utilizzano ancora quando hanno una ragionevole certezza di poterlo mantenere; il brevetto inoltre non favorirebbe particolarmente l'innovazione che, in un regime concorrenziale, è comunque una scelta obbligata per rimanere competitivi.

Il software ha delle particolarità che lo rendono profondamente diverso da un'invenzione di tipo meccanico. Il software è un prodotto dell'ingegno e andrebbe equiparato alle idee astratte piuttosto che a un'invenzione materiale. Il software permette di implementare in pratica qualsiasi algoritmo, cioè qualsiasi idea per risolvere un problema che sia formalmente descrivibile, quindi permettere di brevettare gli algoritmi significa permettere di brevettare le idee. Per assurdo qualcuno potrebbe brevettare l'algoritmo per moltiplicare due numeri rappresentati in base due, e farsi pagare da qualsiasi costruttore hardware per questo algoritmo.

La tecnologia evolve continuamente, il software quindi ha un periodo di vita estremamente limitato quindi un periodo di monopolio di 20 anni è un'eternità per un algoritmo. Sarebbe come se il telefono fosse stato brevettato per cinquemila anni, ma chi userà il telefono tra cinquemila anni?

I programmi di oggi sono estremamente complessi e stratificati, e fanno uso di alcuni algoritmi di base che risolvono problemi comuni, per i quali esiste una letteratura specialistica vecchia di anni. Permettere di brevettare questi algoritmi sarebbe assurdo oltre che dannoso, equivarrebbe a brevettare il teorema di Pitagora (cioè una conoscenza fondamentale acquisita da tempo).

Il software proprietario è già protetto dalla segretezza del codice sorgente, che equivale in pratica al segreto industriale, quindi introdurre il brevetto del software significherebbe proteggere lo stesso prodotto in due modi diversi (più la normativa sul diritto d'autore) che erano nati come alternativi.

Il sistema dei brevetti, che era stato pensato per diffondere la conoscenza, applicato al software otterebbe l'effetto contrario. Uno scenario probabile, dopo l'introduzione dei brevetti software, sarebbe che le grandi aziende con molti avvocati produrrebbero moltissimi brevetti. Le piccole aziende e gli sviluppatori di software libero verrebbero invece schiacciati dalle royalities che dovrebbero pagare alle grande aziende. Brevettare costa molto (un minimo di 2000 euro per un brevetto in Italia, un minimo di 10000 euro per un brevetto europeo) e quindi i piccoli programmatori non potrebbero permettersi di brevettare, soprattutto se poi il programma viene rilasciato gratuitamente.

Riferimenti

I brevetti software
 
 Una minaccia per il Software Libero
 Simo Sorce
 <[email protected]>
 http://softwarelibero.it 
 Perche' i brevetti sulle idee sono dannosi
 per lo sviluppo e la libera impresa


http://softwarelibero.it/GNU/nemici/brevetti.shtml 
http://www.freepatents.org 
http://swpat.ffii.org/indexen.html 
http://no-patents.prosa.it 
http://lpf.ai.mit.edu/Patents/patents.html 

About this document ...

Il Free Software e il problema dei brevetti sul software

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -dir html -split 0 -no_navigation freesoftware.tex

The translation was initiated by Lorenzo Masetti on 2002-11-22


Lorenzo Masetti 2002-11-22
Indietro