Vuoi ricevere i nostri aggiornamenti?

Registrati per accedere ai contenuti riservati e iscriverti alla nostra newsletter

Quando la decompilazione di un software è legittima?

02/11/2021
CGUE, 6/10/2021 (C-13/20)


Il legittimo acquirente di un software ha il diritto di procedere alla decompilazione (ricostruzione del codice sorgente) totale o parziale al fine di correggere errori che incidono sul funzionamento del programma, anche quando la correzione consiste nel disattivare una funzione che pregiudica il buon funzionamento dell’applicazione di cui fa parte detto programma. Tuttavia, l’acquirente del programma ha il diritto di procedere alla decompilazione solo per correggere l’errore e nel rispetto delle condizioni contrattualmente previste.

Questo è quanto stabilito dalla Corte di Giustizia nella recente sentenza 6/10/2021 (C-13/20).

Il caso esaminato

Una società di diritto belga che sviluppa programmi per elaboratore e fornisce prestazioni di servizi informatici forniva ad un ente di diritto pubblico un proprio programma (TSF) in licenza d’uso; nel 2008 le parti concludevano un contratto avente ad oggetto l’installazione e la configurazione di un nuovo ambiente di produzione e l’integrazione e la migrazione delle sorgenti delle applicazioni dell’Ente nel nuovo ambiente. In seguito alla migrazione sopraggiungevano problemi di funzionamento delle applicazioni che usavano i programmi e il licenziatario effettuava la decompilazione del programma TSF. La software house belga lamentava l’avvenuta decompilazione del software in violazione dei propri diritti esclusivi.

Il contesto normativo

Ai sensi della Direttiva 91/250/CEE del Consiglio del 14/5/1991 i programmi per elaboratore sono tutelati mediante diritto d’autore come opere letterarie ovvero in quanto risultato della creazione intellettuale dell’autore e come tali originali.

All’autore sono riconosciuti (art. 4) diritti esclusivi, tra cui il diritto di effettuare o autorizzare

  1. la riproduzione, permanente o temporanea, totale o parziale di un programma
  2. la traduzione, l’adattamento, l’adeguamento, la riproduzione e ogni altra modifica di un programma
  3. qualsiasi forma di distribuzione al pubblico.

L’art. 5 della Direttiva limita però i suddetti diritti, in quanto

  1. le attività di cui ai punti a) e b) non sono soggette ad autorizzazione da parte dell’autore se tali attività sono necessarie per un uso del software conforme alla sua destinazione da parte del legittimo acquirente oppure per la correzione di errori
  2. al soggetto abilitato ad usare il programma non può essere impedito di fare una copia di riserva
  3. non gli può essere impedito di osservare, studiare o sperimentare il funzionamento del software allo scopo di determinare i principi su cui è basato ogni elemento dello stesso.

L’articolo 6 a sua volta prevede che per gli atti di riproduzione del codice e di traduzione della sua forma non è necessaria l’autorizzazione del titolare dei diritti se tali atti siano necessari per conseguire l’interoperabilità di un programma per elaboratore autonomo se

  • sono compiuti dal licenziatario o da altro soggetto che abbia il diritto di utilizzare una copia del programma
  • le informazioni non siano già facilmente accessibili
  • gli atti in questione siano limitati alle parti del programma originale necessarie per conseguire l’interoperabilità.

Le previsioni degli artt. 4, 5 e 6 della Direttiva sono state integralmente e pedissequamente recepite dal diritto italiano negli artt. 64 bis, 64 ter e 64 quater della Legge sul Diritto d’Autore (Legge 633/1941 sezione VI).

La decompilazione al fine di correggere errori del software è legittima anche quando ne disattiva una funzione?

La Corte osserva che un programma per elaboratore è inizialmente redatto sotto forma di codice sorgente in un linguaggio di programmazione intelligibile prima di essere trascritto in forma esecutiva da un computer (codice oggetto) mediante un programma dedicato denominato “compilatore”; l’operazione consistente nel trasformare il codice sorgente in codice oggetto si chiama compilazione.

L’operazione inversa ovvero la ricostruzione del codice sorgente dal codice oggetto prende il nome di decompilazione; la decompilazione, dunque, altro non è che un’operazione di trasformazione della forma del codice di un programma che implica una riproduzione ed una traduzione del codice stesso.

La decompilazione è quindi certamente un’operazione che rientra tra i diritti esclusivi dell’autore del programma.

Ma ai sensi dell’art. 5 è possibile procedervi senza preventiva autorizzazione se è necessario ai fini dell’uso del programma o per correggere errori.

Il concetto di “errore”

La nozione di errore deve essere interpretata conformemente al senso ordinario di tale termine nel linguaggio corrente; nel settore dell’informatica per errore si intende un difetto riguardante un programma per elaboratore che è all’origine di un malfunzionamento di quest’ultimo. Inoltre, ai sensi dell’art. 5 l’errore deve incidere sulla possibilità di fare un uso del programma conforme alla sua destinazione.

Lo stesso art. 5 consente la rettifica di errori da parte del licenziatario, fatte salve le disposizioni contrattuali specifiche; il considerando n. 17 della Direttiva prevede però che la correzione degli errori che incidono sul funzionamento del programma non possono essere vietate contrattualmente.

Il titolare del software e l’acquirente/licenziatario sono però liberi di organizzare contrattualmente le modalità di manutenzione correttiva del programma.

Le conseguenze in ambito contrattuale

In assenza di clausole contrattuali specifiche il legittimo acquirente di un programma per elaboratore ha il diritto di compiere, senza il previo consenso del titolare dei diritti, gli atti previsti all’art. 4 della Direttiva, compresa la decompilazione, se ciò risulti necessario per correggere errori come sopra definiti; ovviamente non potrà utilizzare il risultato della decompilazione per fin diversi dalla correzione degli errori.

Nel definire le condizioni contrattuali di vendita o di licenza d’uso sarà allora fondamentale stabilire accuratamente le attività di manutenzione e di eventuale correzione che il titolare del software dovrà compiere, al fine di evitare l’intervento legittimo ma probabilmente non auspicabile dell’utilizzatore.