Il brevetto di software

Fin dalle sue origini l’industria del software si è posta il problema di come difendere le idee elaborate internamente e spesso costate notevoli investimenti. All’inizio si pensò di ricorrere ad accordi contrattuali che vincolassero al segreto i dipendenti ed i clienti ma ben presto ci si rese conto che questa forma di protezione era del tutto insufficiente e che un dipendente che lasciava l’azienda portava con sè un patrimonio di conoscenze che era perfettamente in grado di utilizzare in altro modo. Per questo si pensò di utilizzare uno dei due strumenti noti per la tutela delle opere dell’ingegno, il copyright ed il brevetto, ma l’opzione cadde sul primo in quanto il programma venne visto, ed ancora in parte lo è adesso, come un modo di espressione della mente umana paragonabile ad un testo scritto.

Verso gli anni Settanta si iniziò ad avvertire che questo strumento non era adeguato al tipo di tutela voluta in quanto se da un lato consentiva di tutelare la forma espressiva di un programma dall’altro non garantiva alcuna esclusiva sull’idea di base che costituisce il vero valore di un software.

L’esperienza degli USA

La giurisprudenza statunitense in quegli anni iniziò ad aprire il varco alla protezione del software tramite brevetto considerato che questo strumento avrebbe dovuto garantire maggiormente i consumatori, riconoscendo un’esclusiva solo a seguito di un esame in merito alla novità ed all’attività inventiva, esame che è diventato, o almeno avrebbe dovuto esserlo, più complesso ed approfondito nel corso degli anni.

Quando è possibile il brevetto

Allo stato attuale mentre tutti i programmi sono tutelati dal copyright non tutti i programmi sono brevettabili ma lo sono soltanto quelli che producono un effetto tecnico, che siano nuovi, ovvero non esistenti, ed innovativi. La proposta di direttiva sul software, mai approvata, era correttamente intitolata Proposta di direttiva relativa alla brevettabilità delle invenzioni attuate per mezzo di elaboratori elettronici (COM (2002) 92 del 20.02.2002) in quanto ciò che si brevetta non è tanto il software, e tanto meno il codice sorgente, quanto un’invenzione che si attua per mezzo di un programma per elaboratore.

La definizione di “effetto tecnico” non è facile. In linea di massima si ritiene che esso sussiste quando il programma consente di svolgere una funzione ulteriore rispetto alla normale interazione con la macchina. Questo effetto tecnico può essere esterno ad esempio quando dall’esecuzione del programma il computer consenta di comandare un macchinario, oppure interno quando il programma consente un diverso funzionamento del computer in sé e quindi un miglioramento del suo funzionamento e delle sue prestazioni. La tutela offerta dal brevetto di software si avvicina all’algoritmo. Dall’arabo “al-khuwarizmi”, a sua volta dal greco “arithmòs”, un algoritmo è un metodo generale che risolve con una sequenza finita di passi un problema dato. L’algoritmo può essere rappresentato anche come una serie di fasi da seguire, scritte l’una di seguito all’altra. Dall’algoritmo si ottiene il programma vero e proprio attraverso la fase di “codifica” che è la fase di scrittura dell’algoritmo attraverso un insieme ordinato di istruzioni scritte in un qualche linguaggio di programmazione che specificano le azioni da compiere. Per rappresentare un algoritmo si utilizza il diagramma di flusso (flow chart) che lo scompone in passi successivi ed è una descrizione più efficace e meno ambigua di una descrizione a parole. Una volta redatto il diagramma di flusso il programmatore scrive il codice sorgente che è il testo scritto in un qualche linguaggio di programmazione e che può essere tradotto in un file eseguibile. Il codice sorgente viene poi tradotto in codice oggetto che è sostanzialmente la traduzione del programma in linguaggio macchina. Quello che viene brevettato è quindi il metodo alla base del programma, non il suo codice sorgente o oggetto, che può anche non essere stato ancora creato ed è del tutto indifferente il linguaggio in cui sarà redatto. Il codice sorgente ed i listati in ogni caso anche se esistenti, non devono essere depositati con la domanda di brevetto perché possono solo costituire oggetto di tutela secondo la legge sul diritto d’autore.

Differenze tra brevetto e copyright

Il diritto d’autore tutela un programma come un’opera letteraria, per il modo in cui è scritto, per cui ogni qual volta viene scritto un programma che esegue la stessa funzione, seguendo le stesse fasi, ma grazie ad una scrittura diversa non si ha violazione di copyright.

Con il brevetto invece si tutela il programma, sempre che sussista un effetto tecnico, come metodo e quindi dal punto di vista della sequenza logica delle fasi che esegue siano esse espresse in forma logica o come algoritmo.

Dato che un metodo può essere tradotto in numerosi tipi di programmi ognuno diverso dall’altro, ottenere il brevetto sul metodo offre una protezione di gran lunga più ampia rispetto al detenere i diritti sul solo codice sorgente. La mancanza di una normativa chiara sul punto se da un lato rende piuttosto incerta la tutela dei brevetti di software dall’altro si presta ad abusi come dimostra il triste fenomeno dei c.d. “patents trolls”.

Come si deposita un brevetto

Un brevetto di software si deposita nelle stesse forme di un comune brevetto e si rinvia pertanto alla parte di questo sito relativa ai brevetti. Tuttavia preparare la documentazione tecnica necessaria per depositare un brevetto di software è operazione molto complessa in quanto una errata descrizione o una errata formulazione delle rivendicazioni può determinare l’impossibilità di ottenere il brevetto. Il limite della brevettabilità in materia di software è talmente sottile che la stesura del testo presenta sempre grandi difficoltà e forti rischi. Su questo sito è attivo un servizio online di valutazione dei costi totalmente gratuito che consente di ottenere una stima indicativa della spesa necessaria per il deposito.