Language of document : ECLI:EU:C:2011:787

CONCLUSIONI DELL’AVVOCATO GENERALE

YVES Bot

presentate il 29 novembre 2011 (1)

Causa C‑406/10

SAS Institute Inc.

contro

World Programming Ltd

[domanda di pronuncia pregiudiziale proposta dalla High Court of Justice (England & Wales), Chancery Division (Regno Unito)]

«Proprietà intellettuale – Direttiva 91/250/CEE – Direttiva 2001/29/CE – Tutela giuridica dei programmi per elaboratore – Creazione di vari programmi che emulano le funzionalità di un altro programma per elaboratore senza accesso al suo codice sorgente»





1.        Con il presente rinvio pregiudiziale si invita la Corte a precisare la portata della tutela giuridica conferita dal diritto d’autore ai programmi per elaboratore in forza della direttiva 91/250/CEE (2), nonché di quella conferita alle opere dalla direttiva 2001/29/CE (3).

2.        In particolare, la High Court of Justice (England & Wales), Chancery Division (Regno Unito) s’interroga, in sostanza, sulla questione se le funzionalità di un programma per elaboratore e il linguaggio di programmazione siano tutelati dal diritto d’autore a norma dell’articolo 1, paragrafo 2, della direttiva 91/250. Tale disposizione prevede che detta tutela si applichi a qualsiasi forma di espressione di un programma per elaboratore e rammenta che le idee e i principi alla base di qualsiasi elemento di un programma per elaboratore non sono tutelati a norma della citata direttiva.

3.        Si chiede, inoltre, alla Corte se gli articoli 1, paragrafo 2, e 6 della direttiva 91/250 debbano essere interpretati nel senso che non sono considerate come atti soggetti ad autorizzazione la riproduzione del codice o la traduzione della forma del codice di un formato di file di dati da parte del licenziatario per poter scrivere, nel proprio programma per elaboratore, un codice sorgente che legga e scriva tale formato di file.

4.        Il giudice del rinvio chiede poi alla Corte di precisare la portata dell’eccezione ai diritti esclusivi dell’autore di un programma per elaboratore, prevista all’articolo 5, paragrafo 3, della menzionata direttiva, secondo cui la persona che ha il diritto di utilizzare una copia di un programma può, senza chiederne l’autorizzazione al titolare del diritto, osservare, studiare o sperimentare il funzionamento del programma, allo scopo di determinare le idee e i principi su cui è basato ogni elemento del programma, quando essa effettua le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che ha il diritto di effettuare.

5.        Infine, la Corte è invitata a interrogarsi sulla portata della tutela prevista dall’articolo 2, lettera a), della direttiva 2001/29, che conferisce agli autori il diritto esclusivo di autorizzare o vietare la riproduzione diretta o indiretta, temporanea o permanente, in qualunque modo o forma, in tutto o in parte, delle loro opere. Più precisamente, la questione è se la riproduzione, in un programma per elaboratore o in un manuale d’uso, di determinati elementi descritti nel manuale d’uso di un altro programma per elaboratore costituisca, ai sensi di tale disposizione, una violazione del diritto d’autore su quest’ultimo manuale.

6.        Nelle presenti conclusioni spiegherò i motivi per i quali ritengo che l’articolo 1, paragrafo 2, della direttiva 91/250 debba essere interpretato nel senso che le funzionalità di un programma per elaboratore e il linguaggio di programmazione non possono essere tutelati in quanto tali mediante il diritto d’autore. Per contro, sarà compito del giudice nazionale verificare se, riproducendo tali funzionalità in un programma per elaboratore, l’autore di detto programma abbia riprodotto una parte considerevole degli elementi del primo programma che sono espressione della creazione intellettuale del suo autore.

7.        Inoltre, proporrò alla Corte di dichiarare che gli articoli 1, paragrafo 2, e 6 della direttiva 91/250 devono essere interpretati nel senso che non sono considerati atti soggetti ad autorizzazione la riproduzione del codice o la traduzione della forma del codice di un formato di file di dati da parte del licenziatario per poter scrivere, nel proprio programma per elaboratore, un codice sorgente che legga e scriva tale formato di file, purché tale operazione sia assolutamente indispensabile per ottenere le informazioni necessarie per conseguire l’interoperabilità tra gli elementi di programmi diversi. Detta operazione non deve avere l’effetto di consentire al licenziatario di copiare il codice del programma per elaboratore nel proprio programma, il che dovrà essere verificato dal giudice nazionale.

8.        Esporrò poi i motivi per i quali ritengo che l’articoli 5, paragrafo 3, di tale direttiva, in combinato disposto con gli articoli 4, lettere a) e b), e 5, paragrafo 1, della stessa, debba essere interpretato nel senso che l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che [la persona abilitata] ha il diritto di effettuare» si riferisce alle operazioni per le quali tale persona ha ottenuto un’autorizzazione dal titolare del diritto nonché alle operazioni di caricamento e di svolgimento necessarie per un uso del programma per elaboratore conforme alla sua destinazione. L’osservazione, lo studio e la sperimentazione del funzionamento di un programma per elaboratore effettuati conformemente a tale disposizione non devono avere l’effetto di consentire alla persona autorizzata a utilizzare una copia di detto programma di avere accesso a informazioni protette dal diritto d’autore, quali il codice sorgente o il codice oggetto.

9.        Infine, suggerirò alla Corte di dichiarare che l’articolo 2, lettera a), della direttiva 2001/29 deve essere interpretato nel senso che la riproduzione, in un programma per elaboratore o in un manuale d’uso, di determinati elementi descritti nel manuale di un altro programma per elaboratore può costituire una violazione del diritto d’autore su quest’ultimo manuale se gli elementi così riprodotti sono espressione della creazione intellettuale dell’autore, il che dovrà essere verificato dal giudice nazionale.

I –    Contesto normativo

A –    Diritto dell’Unione

1.      La direttiva 91/250

10.      La direttiva 91/250 è volta ad armonizzare le normative degli Stati membri nel settore della tutela giuridica dei programmi per elaboratore definendo un livello minimo di tutela (4).

11.      Secondo il suo ottavo considerando, con riferimento ai criteri da applicare per determinare se un programma per elaboratore costituisca o meno un’opera originale, non dovrebbero essere valutati i meriti qualitativi o estetici del programma.

12.      Il tredicesimo considerando della direttiva 91/250 enuncia che, per dissipare ogni dubbio, occorre precisare che solo l’espressione di un programma per elaboratore è oggetto di tutela e che le idee e i principi alla base di qualsiasi elemento di un programma, compresi quelli alla base delle sue interfacce, non sono tutelati dal diritto d’autore a norma di tale direttiva. Conformemente a detto principio del diritto d’autore, le idee e i principi che sono alla base della logica, degli algoritmi e dei linguaggi di programmazione non sono tutelati a norma della medesima direttiva (5).

13.      L’articolo 1 di tale direttiva così recita:

«1.      Conformemente alle disposizioni della presente direttiva, gli Stati membri tutelano i programmi per elaboratore, mediante diritto d’autore, come opere letterarie ai sensi della convenzione di Berna sulla tutela delle opere letterarie e artistiche. Ai fini della presente direttiva, il termine “programma per elaboratore” comprende il materiale preparatorio per la progettazione di un programma.

2.      La tutela ai sensi della presente direttiva si applica a qualsiasi forma di espressione di un programma per elaboratore. Le idee e i principi alla base di qualsiasi elemento di un programma per elaboratore, compresi quelli alla base delle sue interfacce, non sono tutelati dal diritto d’autore a norma della presente direttiva.

3.      Un programma per elaboratore è tutelato se originale, ossia se è il risultato della creazione intellettuale dell’autore. Per determinare il diritto alla tutela non sono presi in considerazione altri criteri».

14.      L’articolo 4 della citata direttiva stabilisce quanto segue:

«Fatte salve le disposizioni degli articoli 5 e 6, i diritti esclusivi del titolare, ai sensi dell’articolo 2, comprendono il diritto di effettuare o autorizzare:

a)      la riproduzione, permanente o temporanea, totale o parziale di un programma per elaboratore con qualsivoglia mezzo, in qualsivoglia forma. Nella misura in cui operazioni come il caricamento, la visualizzazione, l’esecuzione, la trasmissione o la memorizzazione del programma per elaboratore richiedono una riproduzione, tali operazioni devono essere sottoposte ad autorizzazione da parte del titolare del diritto;

b)      la traduzione, l’adattamento, l’adeguamento e ogni altra modifica di un programma per elaboratore e la riproduzione del programma che ne risulti, fatti salvi i diritti della persona che modifica il programma;

c)      qualsiasi forma di distribuzione al pubblico, compresa la locazione, del programma per elaboratore originale e di copie dello stesso. La prima vendita della copia di un programma nella Comunità da parte del titolare del diritto o con il suo consenso esaurisce il diritto di distribuzione della copia all’interno della Comunità, a eccezione del diritto di controllare l’ulteriore locazione del programma o di una copia dello stesso».

15.      L’articolo 5 della direttiva 91/250 prevede quanto segue:

«1.   Salvo disposizioni contrattuali specifiche, non sono soggetti all’autorizzazione del titolare del diritto gli atti indicati nell’articolo 4, lettere a) e b), allorché tali atti sono necessari per un uso del programma per elaboratore conforme alla sua destinazione, da parte del legittimo acquirente, nonché per la correzione di errori.

2.     Il contratto non può impedire che una persona abilitata a usare il programma faccia una copia di riserva qualora tale uso lo richieda.

3.     La persona che ha il diritto di utilizzare una copia di un programma può, senza chiederne l’autorizzazione al titolare del diritto, osservare, studiare o sperimentare il funzionamento del programma, allo scopo di determinare le idee e i principi su cui è basato ogni elemento del programma, quando essa effettua le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che ha il diritto di effettuare».

16.      L’articolo 6 di tale direttiva così recita:

«1.   Per gli atti di riproduzione del codice e di traduzione della sua forma ai sensi dell’articolo 4, lettere a) e b), non è necessaria l’autorizzazione del titolare dei diritti qualora l’esecuzione di tali atti al fine di modificare la forma del codice sia indispensabile per ottenere le informazioni necessarie per conseguire l’interoperabilità con altri programmi di un programma per elaboratore creato autonomamente, purché sussistano le seguenti condizioni:

a)      tali atti siano eseguiti dal licenziatario o da un’altra persona che abbia il diritto di utilizzare una copia del programma o, per loro conto, da una persona abilitata a tal fine;

b)      le informazioni necessarie per ottenere l’interoperabilità non siano già facilmente e rapidamente accessibili alle persone indicate alla lettera a) e

c)      gli atti in questione siano limitati alle parti del programma originale necessarie per conseguire l’interoperabilità.

2.      Le disposizioni del paragrafo 1 non consentono che le informazioni ottenute in virtù della sua applicazione:

a)      siano utilizzate a fini diversi dalla realizzazione dell’interoperabilità del programma creato autonomamente;

(…)

3.     Conformemente alla convenzione di Berna sulla tutela delle opere letterarie e artistiche, le disposizioni del presente articolo non possono essere interpretate in modo da consentire che la loro applicazione arrechi indebitamente pregiudizio agli interessi legittimi del titolare del diritto o entri in conflitto con il normale impiego del programma».

17.      Peraltro, ai sensi dell’articolo 9, paragrafo 1, seconda frase, della direttiva 91/250, qualsiasi disposizione contrattuale non conforme all’articolo 6 o alle eccezioni di cui all’articolo 5, paragrafi 2 e 3, è nulla.

2.      La direttiva 2001/29

18.      La direttiva 2001/29 riguarda la tutela giuridica del diritto d’autore e dei diritti connessi nell’ambito del mercato interno, con particolare riferimento alla società dell’informazione (6).

19.      Detta direttiva si applica senza pregiudizio delle vigenti disposizioni relative, in particolare, alla tutela giuridica dei programmi per elaboratore (7).

20.      L’articolo 2, lettera a), di tale direttiva dispone che gli Stati membri riconoscono agli autori il diritto esclusivo di autorizzare o vietare la riproduzione diretta o indiretta, temporanea o permanente, in qualunque modo o forma, in tutto o in parte, delle loro opere.

B –    Diritto nazionale

21.      Le direttive 91/250 e 2001/29 sono state recepite nell’ordinamento giuridico interno con la legge del 1988 sul diritto d’autore, sui disegni e sui brevetti (Copyright, Designs and Patents Act 1988), come modificato dal regolamento del 1992 relativo al diritto d’autore sui programmi per elaboratore [Copyright (Computer Programs) Regulations 1992] nonché dal regolamento del 2003 sul diritto d’autore e sui diritti connessi [Copyright and Related Rights Regulations 2003] (in prosieguo: la «legge del 1988»).

22.      L’articolo 1, paragrafo 1, lettera a), della legge del 1988 prevede che il diritto d’autore è un diritto di proprietà che si applica alle opere letterarie, drammatiche, musicali o artistiche originali. Secondo l’articolo 3, paragrafo 1, lettere da a) a d), di detta legge, per «opera letteraria» si intende ogni opera, diversa da opere drammatiche o musicali, scritta, parlata o cantata, compresi un prospetto o una compilazione diversi da una banca dati, un programma per elaboratore, il materiale preparatorio per la progettazione di un programma per elaboratore e una banca dati.

23.      L’articolo 16, paragrafo 1, lettera a), di detta legge prevede che il titolare del diritto d’autore su un’opera ha il diritto esclusivo di copiare l’opera.

24.      Secondo l’articolo 16, paragrafo 3, lettere a) e b), della legge del 1988, le limitazioni imposte dal diritto d’autore riguardo ad atti compiuti sull’opera riguardano l’opera intera o una parte considerevole di essa, direttamente o indirettamente.

25.      Ai sensi dell’articolo 17, paragrafo 2, di detta legge, con riguardo a opere letterarie, drammatiche, musicali o artistiche, per copia si intende la riproduzione dell’opera in qualsiasi forma materiale. Essa include la memorizzazione dell’opera su qualsiasi supporto con strumenti elettronici.

26.      L’articolo 50BA, paragrafo 1, della legge del 1988 dispone invece che non costituiscono violazione del diritto d’autore da parte dell’utente legittimo di una copia di un programma per elaboratore l’osservazione, lo studio o la sperimentazione del funzionamento di un programma allo scopo di determinare le idee e i principi su cui è basato ogni elemento del programma stesso, qualora egli compia tali atti durante operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che egli ha il diritto di eseguire. L’articolo 50BA, paragrafo 2, di tale legge precisa che, qualora un’attività sia consentita ai sensi del paragrafo 1, qualunque clausola o condizione di un contratto diretta a vietare o limitare tale attività è priva di effetti.

II – Fatti e controversia principale

27.      Il SAS Institute Inc. (in prosieguo: il «SAS Institute») ha sviluppato un software analitico noto come SAS (in prosieguo: il «sistema SAS»). Il sistema SAS è un insieme integrato di programmi che consente agli utenti di effettuare operazioni di elaborazione e di analisi di dati, e in particolare analisi statistiche. Il componente centrale del sistema SAS è denominato Base SAS. Esso permette agli utenti di scrivere ed eseguire applicazioni per manipolare dati. Siffatte applicazioni sono scritte in un linguaggio noto come linguaggio SAS.

28.      Le funzionalità di Base SAS possono essere estese con l’uso di moduli aggiuntivi. Più in particolare, tre di tali moduli vengono in rilievo nel procedimento principale. Si tratta di SAS/ACCESS, SAS/GRAPH e SAS/STAT (in prosieguo indicati, unitamente al Base SAS, come i «moduli SAS»).

29.      Il giudice del rinvio spiega che, prima dei fatti che hanno dato luogo alla presente controversia, i clienti del SAS Institute, per essere in grado di eseguire le loro applicazioni esistenti scritte in linguaggio SAS e di crearne di nuove, potevano soltanto continuare a utilizzare su licenza i moduli necessari del sistema SAS. Infatti, un cliente che avesse voluto passare al software di un altro fornitore sarebbe stato costretto a riscrivere in un altro linguaggio le proprie applicazioni esistenti, il che richiede un investimento considerevole.

30.      Per tale motivo la World Programming Limited (in prosieguo: la «WPL») ha deciso di creare un programma per elaboratore alternativo, il World Programming System (in prosieguo: il «sistema WPL»), capace di eseguire programmi scritti in linguaggio SAS.

31.      La WPL non nega che la sua intenzione fosse emulare molte delle funzionalità dei moduli SAS nel modo più accurato possibile. Essa si è quindi assicurata che i medesimi input (8) generassero gli stessi output (9). La WPL intendeva fare in modo che le applicazioni dei suoi clienti eseguite con il sistema WPL funzionassero come se eseguite nei moduli SAS.

32.      Il giudice del rinvio precisa che non è dimostrato che, nel fare ciò, la WPL abbia avuto accesso al codice sorgente (10) dei moduli SAS, che essa abbia copiato parte del testo di tale codice o che abbia copiato una qualunque parte della progettazione strutturale del codice in questione.

33.      Il SAS Institute intende far dichiarare che gli atti della WPL configurano una violazione del suo diritto d’autore sui propri programmi per elaboratore. Con due distinte decisioni i giudici britannici hanno dichiarato che non costituiva violazione del diritto d’autore sul codice sorgente di un programma per elaboratore, da parte di un concorrente del titolare di tale diritto, lo studio delle modalità di funzionamento del programma e la successiva scrittura di un proprio programma che ne imiti le funzionalità.

34.      Il SAS Institute, contestando tale approccio, ha proposto un ricorso dinanzi al giudice del rinvio. Esso addebita principalmente alla WPL:

–        di avere copiato, nel creare il sistema WPL, i manuali per il sistema SAS (in prosieguo: i «manuali SAS») pubblicati dal SAS Institute, violando in tal modo i suoi diritti d’autore sui manuali SAS;

–        di avere, così facendo, indirettamente copiato i programmi per elaboratore che comprendono i moduli SAS e pertanto violato i suoi diritti d’autore su tali moduli;

–        di avere utilizzato una versione del sistema SAS nota come «Learning Edition», in violazione dei termini della corrispondente licenza e dei relativi contratti, nonché dei diritti d’autore su tale versione;

–        di avere violato i diritti d’autore sui manuali SAS nel creare il proprio manuale (in prosieguo: il «manuale WPL»).

III – Le questioni pregiudiziali

35.      La High Court of Justice (England & Wales), Chancery Division, nutrendo dubbi sull’interpretazione da dare alle disposizioni del diritto dell’Unione, ha deciso di sospendere il procedimento e di sottoporre alla Corte le seguenti questioni pregiudiziali:

«1)      Se, nell’ipotesi in cui un programma per elaboratore (in prosieguo: il “primo programma”) sia tutelato dal diritto d’autore come opera letteraria, l’art. 1, n. 2,[della direttiva 91/250] debba essere interpretato nel senso che non viola il diritto d’autore sul primo programma il concorrente del titolare di detto diritto che, senza accedere al codice sorgente del primo programma, crea, direttamente o mediante un procedimento quale la decompilazione del codice oggetto, un altro programma (in prosieguo: il “secondo programma”) che riproduce le funzioni del primo programma.

2)      Se la soluzione della prima questione sia influenzata da taluno dei seguenti fattori:

a)      la natura e/o l’ampiezza delle funzionalità del primo programma;

b)      la natura e/o l’ampiezza delle competenze, delle valutazioni e delle energie che sono state impiegate dall’autore del primo programma nell’ideazione delle funzionalità del primo programma;

c)      il livello di dettaglio con cui le funzionalità del primo programma sono state riprodotte nel secondo programma;

d)      la circostanza che il codice sorgente del secondo programma riproduca aspetti del codice sorgente del primo programma in una misura che va al di là di quanto è strettamente necessario per produrre le stesse funzionalità del primo programma.

3)      Se, nell’ipotesi in cui il primo programma interpreti ed esegua applicazioni scritte da utenti del primo programma in un linguaggio di programmazione ideato dall’autore del primo programma, che comprende parole chiave inventate o selezionate dall’autore del primo programma e una sintassi ideata dall’autore del primo programma, l’art. 1, n. 2, [della direttiva 91/250] debba essere interpretato nel senso che non costituisce violazione del diritto d’autore sul primo programma la circostanza che il secondo programma sia scritto in modo da interpretare ed eseguire siffatte applicazioni utilizzando le stesse parole chiave e la stessa sintassi.

4)      Se, nell’ipotesi in cui il primo programma legga e scriva file di dati in un particolare formato ideato dall’autore del primo programma, l’art. 1, n. 2, [della direttiva 91/250] debba essere interpretato nel senso che non costituisce violazione del diritto d’autore sul primo programma la circostanza che il secondo programma sia scritto in modo da leggere e scrivere file di dati nello stesso formato.

5)      Se abbia rilevanza, ai fini della soluzione delle questioni [prima, terza e quarta] la circostanza che l’autore del secondo programma abbia creato quest’ultimo mediante:

a)      l’osservazione, lo studio e la sperimentazione del funzionamento del primo programma; o

b)      la lettura di un manuale creato e pubblicato dall’autore del primo programma che descrive le sue funzioni (in prosieguo: il “manuale”), oppure

c)      compiendo sia le attività di cui al punto a) che quelle di cui al punto b).

6)      Se, nell’ipotesi in cui una persona abbia il diritto di usare su licenza una copia del primo programma, l’art. 5, n. 3, [della direttiva 91/250] debba essere interpretato nel senso che il licenziatario, senza l’autorizzazione del titolare del diritto, può compiere operazioni di caricamento, esecuzione e memorizzazione del programma al fine di osservare, sperimentare o studiare il funzionamento del primo programma in modo da determinare le idee e i principi su cui è basato ogni elemento del programma, qualora la licenza consenta al licenziatario di compiere operazioni di caricamento, esecuzione e memorizzazione del primo programma quando esso viene utilizzato per la finalità specifica autorizzata dalla licenza, ma le operazioni compiute per osservare, studiare o sperimentare il primo programma vanno al di là delle finalità previste dalla licenza.

7)      Se l’art. 5, n. 3, [della direttiva 91/250] debba essere interpretato nel senso che le attività di osservazione, studio o sperimentazione del funzionamento del primo programma devono considerarsi effettuate al fine di determinare le idee e i principi su cui è basato ogni elemento del primo programma, qualora esse siano compiute:

a)      per determinare il modo in cui il primo programma funziona e segnatamente i dettagli non descritti nel manuale, allo scopo di scrivere il secondo programma con le modalità indicate supra nella [prima] questione;

b)      per determinare il modo in cui il primo programma interpreta ed esegue istruzioni scritte nel linguaggio di programmazione che esso interpreta ed esegue (v. [terza] questione supra);

c)      per determinare i formati dei file di dati che vengono scritti o letti dal primo programma (v. [quarta] questione supra);

d)      per confrontare le prestazioni del secondo programma e del primo programma, al fine di individuare i motivi per cui le loro prestazioni differiscono e di migliorare le prestazioni del secondo programma;

e)      per effettuare prove parallele sul primo e sul secondo programma al fine di confrontare i loro output nella fase di sviluppo del secondo programma, in particolare eseguendo gli stessi script di prova sia sul primo che sul secondo programma;

f)      per determinare l’output del file di registro generato dal primo programma al fine di produrre un file di registro dall’aspetto identico o simile;

g)      per fare in modo che il primo programma generi dati (nel caso specifico, dati che mettono in relazione codici di avviamento postale e Stati degli USA) allo scopo di determinare se essi corrispondano o meno alle banche dati ufficiali di simili dati e, in caso negativo, per programmare il secondo programma in modo che esso risponda agli stessi dati di input in maniera identica al primo programma.

8)      Se, nell’ipotesi in cui il manuale sia tutelato dal diritto d’autore come opera letteraria, l’art. 2, lett. a), [della direttiva 91/250] debba essere interpretato nel senso che costituisce violazione del diritto d’autore sul manuale, da parte dell’autore del secondo programma, la riproduzione o la riproduzione in larga misura nel secondo programma di taluno dei seguenti argomenti descritti nel manuale:

a)      la selezione di operazioni statistiche incluse nel primo programma;

b)      le formule matematiche impiegate nel manuale per descrivere tali operazioni;

c)      i particolari comandi o combinazioni di comandi con cui tali operazioni possono essere invocate;

d)      le opzioni che l’autore del primo programma ha fornito relativamente ai vari comandi;

e)      le parole chiave e la sintassi riconosciute dal primo programma;

f)      i valori di default che l’autore del primo programma ha predefinito per il caso in cui un determinato comando o opzione non siano specificati dall’utente;

g)      il numero di iterazioni che il primo programma effettuerà in determinate circostanze.

9)      Se l’articolo 2, lettera a), [della direttiva 2001/29] debba essere interpretato nel senso che costituisce violazione del diritto d’autore sul manuale, da parte dell’autore del secondo programma, la riproduzione o la riproduzione in larga misura, in un manuale che descrive il secondo programma, delle parole chiave e della sintassi riconosciute dal primo programma».

IV – Analisi

36.      A mio parere, le questioni sollevate dalla High Court of Justice (England & Wales), Chancery Division possono essere esaminate nel modo seguente.

37.      In primo luogo, con le sue prime tre questioni il giudice del rinvio si domanda, sostanzialmente, se l’articolo 1, paragrafo 2, della direttiva 91/250 debba essere interpretato nel senso che le funzionalità di un programma per elaboratore e il linguaggio di programmazione sono considerati espressione di tale programma e possono quindi beneficiare della tutela mediante il diritto d’autore prevista da tale direttiva.

38.      In secondo luogo, mi sembra di capire che, con la sua quarta questione, il giudice del rinvio chieda in realtà se gli articoli 1, paragrafo 2, e 6 di detta direttiva debbano essere interpretati nel senso che non sono considerate come atti soggetti ad autorizzazione la riproduzione di un codice o la traduzione della forma del codice di un formato di file di dati da parte del licenziatario per poter scrivere, nel proprio programma per elaboratore, un codice sorgente che legga e scriva tale formato di file.

39.      In terzo luogo, con le questioni dalla quinta alla settima il giudice del rinvio chiede alla Corte, sostanzialmente, di precisare la portata dell’eccezione all’obbligo di autorizzazione da parte del titolare del diritto d’autore prevista dall’articolo 5, paragrafo 3, della medesima direttiva. In particolare, esso chiede se l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma [che la persona abilitata] ha il diritto di effettuare» includa solo le operazioni che il titolare della licenza d’uso di un programma per elaboratore ha il diritto di effettuare in base a detta licenza e se lo scopo per cui vengono effettuate le menzionate operazioni influisca sulle possibilità, per il licenziatario, di invocare tale eccezione.

40.      Infine, con l’ottava e la nona questione, il giudice del rinvio chiede, in sostanza, se l’articolo 2, lettera a), della direttiva 2001/29 debba essere interpretato nel senso che la riproduzione, in un programma per elaboratore o in un manuale d’uso, di determinati elementi descritti nel manuale d’uso di un altro programma per elaboratore costituisce una violazione del diritto d’autore su quest’ultimo manuale.

A –    Sulla tutela delle funzionalità di un programma per elaboratore e del linguaggio di programmazione ai sensi dell’articolo 1, paragrafo 2, della direttiva 91/250

41.      Con le sue questioni il giudice del rinvio ci interroga, in realtà, sull’oggetto e sulla portata della tutela conferita dalla direttiva 91/250. In particolare, nella specie la questione è se le funzionalità (11), il linguaggio di programmazione e i formati dei file di dati di un programma per elaboratore siano l’espressione di tale programma e possano, pertanto, essere tutelati dal diritto d’autore ai sensi della predetta direttiva.

42.      Ricordo che l’articolo 1, paragrafo 1, della direttiva 91/250 prevede che gli Stati membri tutelano i programmi per elaboratore come opere letterarie. La tutela mediante il diritto d’autore si applica a qualsiasi forma di espressione di un programma per elaboratore e non alle idee e ai principi alla base di qualsiasi elemento di un programma per elaboratore (12). Il quattordicesimo considerando di tale direttiva precisa inoltre che, conformemente a detto principio del diritto d’autore, le idee e i principi che sono alla base della logica, degli algoritmi e dei linguaggi di programmazione non sono tutelati a norma di detta direttiva.

43.      Tale principio si ritrova anche nei testi internazionali. In particolare, l’articolo 2 del Trattato dell’Organizzazione mondiale della proprietà intellettuale (OMPI) sul diritto d’autore (13) prevede che la protezione del diritto d’autore copre le espressioni e non le idee, i procedimenti, i metodi di funzionamento o i concetti matematici in quanto tali.

44.      Ciò è motivato dal fatto che l’originalità di un’opera, che dà accesso a una tutela giuridica, non risiede in un’idea, che può essere utilizzata liberamente, ma nella sua espressione.

45.      Per quanto riguarda i programmi per elaboratore, la direttiva 91/250 non precisa la nozione di «qualsiasi forma di espressione di un programma per elaboratore».

46.      Tale mancanza di definizione risulta dall’espressa volontà del legislatore dell’Unione. Nella sua proposta di direttiva (14), la Commissione europea precisa infatti che «gli esperti della materia hanno fatto osservare che una definizione di programma finirebbe necessariamente per divenire antiquata poiché con l’avanzare della tecnologia in futuro cambierà la natura dei programmi quali oggi li conosciamo» (15).

47.      Tuttavia, il legislatore dell’Unione ha indicato che gli elementi di creatività, abilità e inventività si manifestano nella maniera in cui si elaborano i programmi. Il programmatore definisce i compiti che il programma deve eseguire ed effettua un’analisi dei possibili modi di ottenere tali risultati. L’autore di un programma per elaboratore, al pari dell’autore di un libro, sceglie le operazioni da compiere e la maniera di esprimere tali operazioni conferisce al programma le sue particolari caratteristiche di rapidità, efficienza e perfino di stile (16).

48.      Pertanto, la tutela di un programma per elaboratore è concepibile soltanto a partire dal punto in cui la selezione e la compilazione di questi elementi dimostrano la creatività e l’abilità dell’autore e distinguono la sua opera da quella degli altri autori (17).

49.      Nella sentenza del 22 dicembre 2010, Bezpečnostní softwarová asociace (18), la Corte ha precisato che oggetto della tutela conferita dalla direttiva 91/250 è il programma per elaboratore in tutte le sue forme di espressione, quali il codice sorgente e il codice oggetto, che consentono di riprodurlo in diversi linguaggi informatici (19). Essa ha inoltre statuito che ogni forma di espressione di un programma per elaboratore deve essere tutelata a partire dal momento in cui la sua riproduzione comporterebbe la riproduzione del programma per elaboratore stesso, consentendo così all’elaboratore di svolgere la sua funzione (20).

50.      La tutela di un programma per elaboratore non è quindi limitata agli elementi letterali di tale programma, vale a dire il codice sorgente e il codice oggetto, ma si estende a ogni elemento che esprima la creatività dell’autore.

51.      Nell’ambito così definito, occorre quindi interrogarsi sulla questione se le funzionalità di un programma per elaboratore e il linguaggio di programmazione possano essere considerati espressione di un programma e quindi beneficiare della tutela prevista dalla direttiva 91/250.

1.      Sulla tutela mediante il diritto d’autore delle funzionalità di un programma per elaboratore

52.      La funzionalità di un programma per elaboratore può essere definita come l’insieme delle possibilità offerte da un sistema informatico, le azioni proprie di tale programma. In altri termini, la funzionalità di un programma per elaboratore è il servizio che l’utente si attende da tale programma.

53.      A mio parere, le funzionalità di un programma per elaboratore non possono, in quanto tali, essere oggetto di una tutela mediante il diritto d’autore ai sensi dell’articolo 1, paragrafo 1, della direttiva 91/250.

54.      Faccio un esempio concreto. Se un programmatore decide di sviluppare un programma per la prenotazione di biglietti aerei, tale software includerà molteplici funzionalità necessarie a detta prenotazione. Infatti, il programma per elaboratore dovrà, in successione, essere in grado di trovare il volo cercato dall’utente, verificare i posti disponibili, prenotare il posto, registrare i dati dell’utente, tenere conto dei dati di pagamento online e, infine, emettere il biglietto elettronico dell’utente (21). Tutte queste funzionalità, queste azioni, sono dettate da un scopo ben preciso e delimitato. Sotto questo aspetto esse sono quindi analoghe a un’idea. Pertanto, possono esistere programmi per elaboratore che offrono le medesime funzionalità.

55.      Per contro, esiste una gran quantità di modi in cui possono essere concretizzate tali funzionalità, e tali modi sono ciò che può essere tutelato mediante il diritto d’autore in forza della direttiva 91/250. Infatti, come si è visto, la creatività, l’abilità e l’inventività si manifestano nella maniera in cui si elabora il programma, nella sua scrittura. Il programmatore utilizza formule, algoritmi che, in quanto tali, sono esclusi dalla protezione del diritto d’autore (22), poiché sono comparabili alle parole di cui si serve il poeta o il romanziere per la sua creazione letteraria (23). Tuttavia, la maniera in cui vengono disposti tali elementi, come lo stile di scrittura del programma per elaboratore, può rispecchiare una creazione intellettuale propria del suo autore e sarà quindi tutelabile.

56.      Peraltro, mi sembra che tale analisi trovi conferma nei lavori preparatori della direttiva 91/250. Infatti, nella sua proposta di direttiva, la Commissione spiega che i principali vantaggi della tutela dei programmi per elaboratore in base al diritto d’autore risiedono nel fatto che essa concerne soltanto l’espressione individuale del lavoro e offre quindi uno spazio sufficiente a permettere ad altri autori di creare programmi simili, o perfino identici, purché essi si astengano dalla mera duplicazione (24). Si tratta di un effetto particolarmente importante perché il numero di algoritmi disponibili sui quali si basano i programmi per elaboratori, pur essendo considerevole, non è illimitato (25).

57.      Ammettere che una funzionalità di un programma per elaboratore possa essere tutelata in quanto tale equivarrebbe a offrire la possibilità di monopolizzare le idee, a detrimento del progresso tecnico e dello sviluppo industriale.

58.      Peraltro, mi sembra di capire che il giudice del rinvio si chieda se la riproduzione degli aspetti del codice sorgente inerenti alla funzionalità di un programma per elaboratore nel codice sorgente di un altro programma per elaboratore configuri una violazione dei diritti esclusivi dell’autore del primo programma.

59.      A mio parere, come per tutte le altre opere tutelabili in base al diritto d’autore, la riproduzione di una parte considerevole dell’espressione delle funzionalità di un programma per elaboratore può costituire una violazione del diritto d’autore.

60.      Infatti, nella sentenza del 16 luglio 2009, Infopaq International (26), la Corte ha dichiarato che le diverse parti di un’opera beneficiano di una tutela ai sensi dell’articolo 2, lettera a), della direttiva 2001/29 a condizione che esse contengano taluni degli elementi che sono espressione della creazione intellettuale dell’autore dell’opera stessa (27). Dato che il programma per elaboratore deve essere considerato a tutti gli effetti come un’opera letteraria (28), la stessa analisi va applicata con riferimento agli elementi che costituiscono l’espressione della creazione intellettuale dell’autore del programma per elaboratore.

61.      Inoltre, il giudice del rinvio si domanda se la natura e l’ampiezza di una funzionalità di un programma per elaboratore riprodotta in un altro programma per elaboratore o il livello di dettaglio con cui tale funzionalità è stata riprodotta possano influire su tale analisi.

62.      Ritengo di no.

63.      Riprendiamo l’esempio del programma per elaboratore che consente di prenotare un biglietto aereo. La struttura di tale programma definirà le funzionalità dello stesso e descriverà la combinazione di tali funzionalità. La funzione stessa di detto programma, vale a dire, per l’utente, l’ottenimento di un biglietto aereo, determinerà tale combinazione. Occorrerà verificare se il volo esista e, in caso affermativo, a quale data e ora, se rimangano posti disponibili,ecc. A prescindere dalla natura e dall’ampiezza della funzionalità, ritengo che quest’ultima o anche la combinazione di più funzionalità continuino ad essere equiparabili a un’idea e non possano quindi essere tutelate in quanto tali mediante il diritto d’autore.

64.      Del pari, sono dell’avviso che tale analisi non possa essere rimessa in discussione dalla natura e dell’ampiezza delle competenze, delle valutazioni e delle energie che sono state impiegate nell’ideazione delle funzionalità di un programma per elaboratore.

65.      Ricordo infatti che l’articolo 1, paragrafo 3, della direttiva 91/250 prevede che un programma per elaboratore è tutelato se è originale, ossia se è il risultato della creazione intellettuale dell’autore. Tale disposizione precisa che per determinare il diritto alla tutela non sono presi in considerazione altri criteri (29). In particolare, l’ottavo considerando della medesima direttiva enuncia che, per quanto riguarda i criteri da applicare per determinare se un programma per elaboratore costituisca o meno un’opera originale, non dovrebbero essere valutati i meriti qualitativi o estetici del programma.

66.      Sono quindi del parere che, per stabilire se un programma per elaboratore possa beneficiare di una tutela giuridica in base al diritto d’autore, si debba tenere conto del grado di originalità della sua scrittura e non del tempo e delle energie dedicati all’ideazione di tale programma, né del livello di competenza dell’autore.

67.      Nella presente causa, sarà compito del giudice nazionale verificare se la WPL, riproducendo le funzionalità dei moduli SAS, abbia riprodotto nel proprio sistema WPL una parte considerevole degli elementi di tali moduli, che sono espressione della creazione intellettuale dell’autore dei moduli stessi.

2.      Sulla tutela in base al diritto d’autore del linguaggio di programmazione

68.      Il giudice del rinvio s’interroga, inoltre, sulla questione se il linguaggio di programmazione di un programma per elaboratore possa essere tutelato in base al diritto d’autore ai sensi della direttiva 91/250 (30). Invero, la WPL ha fatto in modo che il suo sistema WPL possa interpretare ed eseguire le istruzioni scritte in linguaggio SAS.

69.      Come si è visto, un programma per elaboratore viene anzitutto redatto sotto forma di codice sorgente. Tale codice è scritto in un linguaggio di programmazione che opererà come un traduttore tra l’utente e la macchina. Esso consente a detto utente di scrivere istruzioni in un linguaggio che egli stesso comprende. Il giudice del rinvio spiega che il linguaggio SAS è composto da istruzioni, espressioni, opzioni, formati e funzioni espressi sotto forma di «token», vale a dire blocchi di caratteri utilizzati secondo determinate convenzioni. Una delle principali tipologie di token del linguaggio SAS è quella dei nomi, ad esempio LOGISTIC e UNIVARIATE. Il giudice del rinvio precisa inoltre che il linguaggio SAS ha una propria sintassi e proprie parole chiave (31).

70.      Secondo Patrick Roussel, «il linguaggio di programmazione in quanto tale è analogo a un’opera scientifica, una costruzione teorica, il cui scopo consiste nell’organizzare, definire e trasmettere conoscenze al fine di scrivere sorgenti di software in un enunciato comprensibile dalla mente umana e facilmente trasformabile in istruzioni eseguite da un elaboratore. Il linguaggio di programmazione immagina metodi particolari da utilizzare, agevola l’esercizio della mente per enunciare e formalizzare programmi sorgente per elaboratore. Non si tratta, come nel caso di un programma, di fare in modo che l’elaboratore produca un certo risultato, bensì di enunciare le regole di formulazione di un programma che consenta di ottenere un risultato» (32).

71.      Ciò premesso, mi sembra che il linguaggio di programmazione sia un elemento funzionale che consente di dare istruzioni alla macchina. Come si è visto a proposito del linguaggio SAS, il linguaggio di programmazione è costituito da parole e da caratteri noti a tutti e privi di qualsiasi originalità. A mio avviso, il linguaggio di programmazione deve essere assimilato al linguaggio utilizzato dall’autore di un romanzo. Si tratta dunque del mezzo che consente di esprimersi, e non dell’espressione in sé.

72.      Pertanto, ritengo che esso non possa, in quanto tale, essere considerato espressione di un programma per elaboratore tutelabile in base al diritto d’autore ai sensi della direttiva 91/250.

73.      A mio parere, detta analisi non è rimessa in discussione dal fatto che il quattordicesimo considerando di tale direttiva enuncia che le idee e i principi che sono alla base della logica, degli algoritmi e dei linguaggi di programmazione non sono tutelati a norma di detta direttiva. In effetti, il SAS Institute ritiene che, letto a contrario, tale considerando dimostri che il linguaggio di programmazione non è escluso dalla protezione mediante il diritto d’autore sui programmi per elaboratore.

74.      In realtà, a mio parere, detto considerando si limita a riprendere il principio secondo cui il diritto d’autore tutela l’espressione delle idee e non le idee stesse. Pertanto, in quanto tale, il linguaggio di programmazione non può essere protetto. Viceversa, dato che il codice sorgente di un programma per elaboratore è scritto in un linguaggio di programmazione, è tale espressione mediante il linguaggio di programmazione ciò che potrà essere tutelato ai sensi dell’articolo 1 della direttiva 91/250.

75.      In base a quanto precede, ritengo che il linguaggio di programmazione non costituisca di per sé una forma di espressione del programma per elaboratore tutelabile dal diritto d’autore ai sensi di tale disposizione.

76.      Alla luce delle suesposte considerazioni, sono del parere che l’articolo 1, paragrafo 2, della direttiva 91/250 debba essere interpretato nel senso che le funzionalità di un programma per elaboratore e il linguaggio di programmazione non sono in quanto tali tutelabili mediante il diritto d’autore. Sarà compito del giudice nazionale verificare se, riproducendo tali funzionalità in un programma per elaboratore, l’autore di detto programma abbia riprodotto una parte considerevole degli elementi del primo programma che sono espressione della creazione intellettuale del suo autore.

B –    Sulla tutela dei formati di file di dati in base all’articolo 1, paragrafo 2, della direttiva 91/250

77.      Con la sua questione, il giudice del rinvio si domanda, sostanzialmente, se la WPL abbia commesso una violazione del diritto d’autore decifrando il formato dei file di dati SAS in misura sufficiente per poter scrivere un codice sorgente, nel proprio programma per elaboratore, che legga e scriva file di dati nel medesimo formato.

78.      Tale questione mi induce ad esaminare in successione se, in quanto interfaccia logica (33), il formato dei file di dati sia un’espressione del programma per elaboratore tutelabile ai sensi della direttiva 91/250 e se, a tale titolo, esso possa formare oggetto di un’operazione di decompilazione volta a conseguire l’interoperabilità tra gli elementi dei diversi programmi per elaboratore, in forza dell’articolo 6 della medesima direttiva.

79.      Il SAS Institute descrive i formati dei file di dati nei termini seguenti. Il sistema SAS memorizza dati nei file e li estrae dagli stessi. A tale scopo, detto sistema utilizza un certo numero di formati di dati, formati che sono stati ideati dal SAS Institute. Detti formati possono essere considerati moduli in bianco che il sistema SAS deve completare con i dati del cliente e che contengono specifici spazi nei quali devono essere scritte determinate informazioni affinché tale sistema possa leggere e scrivere correttamente il file (34).

80.      Per consentire al suo programma di avere accesso ai dati degli utenti memorizzati nel formato dei file di dati SAS, la WPL ha fatto in modo che il suo programma comprenda e interpreti tale formato.

81.      Mi sembra che la direttiva 91/250 non escluda le interfacce dalla protezione in base al diritto d’autore. Essa si limita a enunciare, nel tredicesimo considerando, che le idee e i principi alla base di qualsiasi elemento di un programma, compresi quelli alla base delle sue interfacce, non sono tutelati dal diritto d’autore a norma della medesima direttiva.

82.      Al pari del SAS Institute, ritengo che il formato dei file di dati SAS sia parte integrante del suo programma per elaboratore. Del resto, l’undicesimo considerando di detta direttiva enuncia che le parti del programma che garantiscono l’interconnessione e l’interazione tra gli elementi del software e dell’hardware sono generalmente denominate «interfacce». Essendo una parte del programma per elaboratore, l’interfaccia – nella specie gli elementi che creano, scrivono e leggono il formato dei file di dati SAS – è quindi espressa in codice sorgente nel programma. Pertanto, se l’espressione dell’interfaccia costituisce una parte considerevole dell’espressione del programma per elaboratore, come si è visto ai paragrafi 59 e 60 delle presenti conclusioni, essa può essere tutelata mediante il diritto d’autore ai sensi della direttiva 91/250.

83.      Ciò premesso, la questione che si pone ora è se, ai sensi dell’articolo 6 di tale direttiva, la WPL avesse il diritto di compiere un’operazione di decompilazione per conseguire l’interoperabilità tra il sistema SAS e il suo sistema WPL.

84.      In effetti, l’interfaccia consente l’interoperabilità, vale a dire la capacità di scambiare informazioni e di usarle reciprocamente (35), tra gli elementi di programmi per elaboratore diversi (36). Orbene, l’articolo 6, paragrafo 1, della direttiva 91/250 prevede che, a determinate condizioni, l’autorizzazione del titolare del diritto d’autore su un programma per elaboratore non è necessaria qualora la riproduzione del codice o la traduzione della sua forma ai sensi dell’articolo 4, lettere a) e b), di tale direttiva sia indispensabile per ottenere le informazioni necessarie per conseguire l’interoperabilità con altri programmi di un programma per elaboratore creato autonomamente. Si tratta di ciò che viene definito decompilazione.

85.      L’articolo 6, paragrafo 1, della direttiva 91/250 costituisce un’eccezione ai diritti esclusivi dell’autore di un programma per elaboratore e, a mio parere, dev’essere interpretato restrittivamente. A tale proposito, il legislatore dell’Unione si è preoccupato di precisare, nel ventunesimo e nel ventitreesimo considerando di tale direttiva, che la decompilazione deve essere prevista solo in limitate circostanze e che la sua applicazione non deve arrecare pregiudizio agli interessi legittimi del titolare del diritto o entrare in conflitto con il normale impiego del programma.

86.      Pertanto, la decompilazione può essere contemplata a condizione che venga eseguita dal licenziatario, che le informazioni necessarie per ottenere l’interoperabilità non siano già state rese facilmente e rapidamente accessibili a tale licenziatario e che la decompilazione sia limitata alle parti del programma originale necessarie per conseguire l’interoperabilità (37).

87.      A mio parere, dall’impiego dei termini «indispensabile» o «necessario» emerge la volontà del legislatore dell’Unione di rendere la decompilazione un atto di natura eccezionale. Ritengo inoltre che il licenziatario debba dimostrare l’assoluta necessità di riprodurre il codice o di tradurne la forma per conseguire l’interoperabilità con gli elementi del suo programma.

88.      Infine, ritengo che la decompilazione non debba avere l’effetto di consentire al licenziatario di copiare il codice del programma per elaboratore nel proprio programma. Infatti, l’articolo 6, paragrafo 1, della direttiva 91/250 prevede che tale procedimento possa essere utilizzato per ottenere le informazioni necessarie per conseguire l’interoperabilità (38) tra gli elementi di programmi per elaboratore diversi. Esso non prevede in alcun caso l’autorizzazione a copiare il codice del programma per elaboratore.

89.      In ogni caso, spetterà al giudice nazionale verificare se sussistano le condizioni elencate all’articolo 6, paragrafo 1, lettere da a) a c), di tale direttiva.

90.      Alla luce degli elementi che precedono, ritengo che gli articoli 1, paragrafo 2, e 6 della direttiva 91/250 debbano essere interpretati nel senso che non sono considerate come atti soggetti ad autorizzazione la riproduzione del codice o la traduzione della forma del codice di un formato di file di dati da parte del licenziatario per poter scrivere, nel proprio programma per elaboratore, un codice sorgente che legga e scriva tale formato di file, purché siffatta operazione sia assolutamente indispensabile per ottenere le informazioni necessarie a conseguire l’interoperabilità tra gli elementi di programmi diversi. Detta operazione non deve avere l’effetto di consentire a detto licenziatario di copiare il codice del programma per elaboratore nel proprio programma, il che dovrà essere verificato dal giudice nazionale.

C –    Sulla portata dell’articolo 5, paragrafo 3, della direttiva 91/250

91.      Il giudice del rinvio chiede, in sostanza, se l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che [la persona abilitata] ha il diritto di effettuare», contenuta nell’articolo 5, paragrafo 3, della direttiva 91/250, includa solo le operazioni che il titolare della licenza d’uso di un programma per elaboratore ha il diritto di effettuare in base a detta licenza e se lo scopo per il quale vengono compiute dette operazioni influisca sulle possibilità del licenziatario di invocare tale eccezione.

92.      Lo scopo della disposizione è chiaro. L’osservazione, lo studio e la sperimentazione del funzionamento di un programma per elaboratore sono diretti a determinare le idee e i principi su cui è basato ogni elemento del programma. Tale disposizione rappresenta un’estensione del principio enunciato all’articolo 1, paragrafo 2, di tale direttiva, secondo cui le idee e i principi alla base di qualsiasi elemento di un programma per elaboratore non sono tutelati dal diritto d’autore.

93.      A mio parere, l’effetto utile dell’articolo 5, paragrafo 3, della citata direttiva consiste nell’evitare che, mediante clausole contrattuali, il titolare dei diritti su un programma per elaboratore tuteli indirettamente le idee e i principi alla base di detto programma. A tale proposito, l’articolo 9, paragrafo 1, seconda frase, della direttiva 91/250 stabilisce che qualsiasi disposizione contraria all’articolo 5, paragrafo 3, della stessa è nulla.

94.      Tuttavia, sebbene quest’ultima norma consenta alla persona che ne ha diritto di determinare le idee e i principi sui quali è basato ogni elemento di un programma per elaboratore, resta pur sempre il fatto che essa pone dei limiti a tale possibilità (39). Pertanto, detta persona può osservare, studiare o sperimentare il funzionamento del programma nel limite delle operazioni che ha il diritto di effettuare (40).

95.      Ritengo che l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che [la persona abilitata] ha il diritto di effettuare» si riferisca agli atti autorizzati ai sensi degli articoli 4, lettere a) e b), e 5, paragrafo 1, della direttiva 91/250. Infatti, i diritti esclusivi del titolare comprendono il diritto di compiere o autorizzare determinati atti (41). Il titolare è l’unico che possa determinare tali atti nella licenza da lui concessa. Ad esempio, egli può autorizzare la riproduzione del suo programma per elaboratore, ma non la traduzione o l’adattamento dello stesso.

96.      Peraltro, ai sensi dell’articolo 5, paragrafo 1, di detta direttiva, determinati atti non sono soggetti all’autorizzazione del titolare, salvo disposizioni contrattuali specifiche, allorché sono necessari per un uso del programma per elaboratore conforme alla sua destinazione, da parte del legittimo acquirente, nonché per la correzione di errori. Il legislatore dell’Unione si è preoccupato di precisare, nel diciassettesimo considerando della direttiva 91/250, che il contratto non può vietare gli atti di caricamento e di svolgimento necessari per tale utilizzazione.

97.      Pertanto, alla luce di tali elementi, ritengo che l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che [la persona abilitata] ha il diritto di effettuare» si riferisca alle operazioni per le quali detta persona ha ottenuto un’autorizzazione dal titolare del diritto nonché agli atti di caricamento e di svolgimento necessari per un uso del programma per elaboratore conforme alla sua destinazione.

98.      Il giudice del rinvio si domanda, inoltre, se gli scopi per i quali è stato osservato, studiato o sperimentato (42) il funzionamento di un programma per elaboratore influiscano sulla possibilità di invocare l’eccezione di cui all’articolo 5, paragrafo 3, della direttiva 91/250.

99.      Come si è visto, lo scopo di tale disposizione è consentire di determinare le idee e i principi su cui è basato ogni elemento di un programma per elaboratore, senza con ciò violare i diritti esclusivi dell’autore di detto programma.

100. A mio parere, dal tenore letterale e dall’economia della citata disposizione risulta che essa non può avere l’effetto di consentire alla persona che ha il diritto di utilizzare una copia di un programma per elaboratore di avere accesso a informazioni protette dal diritto d’autore, quali il codice sorgente o il codice oggetto.

101. Pertanto, alla luce del complesso degli elementi che precedono, ritengo che l’articolo 5, paragrafo 3, della direttiva 91/250, in combinato disposto con gli articoli 4, lettere a) e b), e 5, paragrafo 1, della medesima direttiva, debba essere interpretato nel senso che l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che [la persona abilitata] ha il diritto di effettuare» si riferisce alle operazioni per le quali tale persona ha ottenuto un’autorizzazione dal titolare del diritto nonché alle operazioni di caricamento e di svolgimento necessarie per un uso del programma per elaboratore conforme alla sua destinazione. L’osservazione, lo studio e la sperimentazione del funzionamento di un programma per elaboratore effettuati conformemente a tale disposizione non devono avere l’effetto di consentire alla persona autorizzata a utilizzare una copia di detto programma di avere accesso a informazioni protette dal diritto d’autore, quali il codice sorgente o il codice oggetto.

D –    Sulla protezione del manuale d’uso di un programma per elaboratore in base all’articolo 2, lettera a), della direttiva 2001/29

102. Con le sue questioni il giudice del rinvio chiede, sostanzialmente, se l’articolo 2, lettera a), della direttiva 2001/29 debba essere interpretato nel senso che la riproduzione, in un programma per elaboratore o in un manuale d’uso, di determinati elementi descritti nel manuale d’uso di un altro programma per elaboratore costituisca una violazione del diritto d’autore su quest’ultimo manuale.

103. I manuali SAS sono opere tecniche che documentano in modo esauriente e dettagliato le funzionalità di ciascuna parte di ciascuno dei moduli SAS, i necessari input e, ove del caso, gli output attesi. Detti manuali hanno uno scopo pratico e sono stati ideati per fornire agli utenti una grande quantità di informazioni sul comportamento esterno del sistema SAS. Essi non contengono informazioni sul comportamento interno di detto sistema.

104. Il giudice del rinvio indica che ogni manuale SAS è un’opera letteraria originale che beneficia della tutela in base al diritto d’autore ai sensi della direttiva 2001/29.

105. L’articolo 2, lettera a), di tale direttiva prevede il diritto esclusivo dell’autore di autorizzare o vietare la riproduzione delle sue opere «in qualunque modo o forma». A mio parere, il fatto che l’asserita violazione del diritto d’autore riguardi anche la riproduzione di manuali per creare un’opera che si presenta in una forma diversa, quale un programma per elaboratore, non esclude siffatta riproduzione dall’ambito di applicazione della menzionata direttiva.

106. Nella citata sentenza Infopaq International, infatti, la Corte ha già avuto modo di pronunciarsi sulla portata della tutela conferita dall’articolo 2 della direttiva 2001/29. Essa ha rilevato che, secondo il ventunesimo considerando di detta direttiva, gli atti coperti dal diritto di riproduzione devono essere intesi in senso ampio. Tale esigenza di un’ampia definizione degli atti in questione emerge altresì dal tenore letterale dell’articolo 2 di tale direttiva, che impiega espressioni quali «diretta o indiretta», «temporanea o permanente» e «in qualunque modo o forma» (43).

107. Di conseguenza, la tutela conferita dall’articolo 2 della direttiva 2001/29 deve avere una portata che, a mio avviso, comprenda sia la riproduzione di determinati elementi nel manuale di un altro programma per elaboratore sia quella nel programma per elaboratore stesso.

108. Si pone ora la questione se, riprendendo nel manuale WPL e nel sistema WPL determinati elementi contenuti nei manuali SAS, la WPL abbia violato il diritto d’autore del SAS Institute su questi ultimi manuali.

109. Come si è visto al precedente paragrafo 43 delle presenti conclusioni, il diritto d’autore si basa sul principio secondo cui la protezione del diritto d’autore copre le espressioni e non le idee, i procedimenti, i metodi di funzionamento o i concetti matematici in quanto tali.

110. Nella fattispecie il giudice del rinvio ha precisato che la WPL, in particolare, ha ripreso dai manuali SAS le parole chiave, la sintassi, i comandi e le combinazioni di comandi, le opzioni, i valori di default e le iterazioni al fine di riprodurli nel suo programma, oltre che nel manuale WPL.

111. A mio parere, tali elementi non possono beneficiare in quanto tali della tutela conferita dal diritto d’autore.

112. Infatti, per quanto concerne il linguaggio di programmazione, si è visto ai paragrafi 69 e 70 delle presenti conclusioni che esso è costituito da parole e caratteri, ha proprie regole sintattiche e utilizza proprie parole chiave.

113. Le opzioni previste con riguardo a comandi diversi costituiscono una forma di sotto‑comportamenti rispetto a un determinato comando. Questi ultimi consentono di controllare i dettagli del comportamento richiesto. A tal fine, è sufficiente aggiungere delle parole dopo il nome del comando.

114. Quanto ai valori di default utilizzati nel caso in cui l’utente non abbia specificato un comando o un’opzione particolare, essi consentono al sistema SAS di autorizzare, in determinate circostanze, l’omissione dei nomi dei comandi, delle opzioni o dei nomi dei dati, in quanto gli spazi rimasti vuoti vengono sostituiti da tali valori.

115. Per quanto riguarda la scelta delle operazioni statistiche, dalle osservazioni presentate dalla WPL emerge che l’esecuzione delle operazioni statistiche è determinata dalla scrittura di istruzioni in linguaggio SAS. I manuali SAS contengono una descrizione di ciascuna delle operazioni statistiche aggiunte alle versioni successive del sistema SAS. Il sistema WPL offre la stessa selezione di operazioni statistiche agli utenti che scrivono i programmi applicativi in linguaggio SAS. Il sistema WPL non riproduce la descrizione di tali operazioni statistiche, ma si limita ad eseguirle.

116. Sempre secondo la WPL, le formule matematiche presenti nei manuali SAS descrivono l’output che verrà calcolato in base all’input. Non si tratta del codice del programma necessario per effettuare una serie di calcoli. In realtà, una formula matematica può essere applicata in molti modi. I programmatori della WPL hanno scritto un codice sorgente capace di eseguire i calcoli descritti nelle formule matematiche.

117. Infine, il sistema SAS contiene una particolare operazione statistica che termina con otto iterazioni. Poiché tale valore incide, secondo la WPL, sul risultato finale, i programmatori, dopo aver letto i manuali SAS, hanno creato un codice sorgente altrettanto capace di eseguire otto iterazioni.

118. Dal complesso delle suesposte considerazioni emerge che tali diversi elementi corrispondono, a mio parere, a idee, procedimenti, metodi di funzionamento o concetti matematici. Pertanto, essi non possono beneficiare in quanto tali della tutela in base al diritto d’autore conferita dall’articolo 2, lettera a), della direttiva 2001/29.

119. Per contro, l’espressione di tali idee, procedimenti, metodi di funzionamento o concetti matematici può essere protetta in forza di tale disposizione, qualora presenti un carattere originale.

120. Infatti, è solo mediante la scelta, la disposizione e la combinazione di tali elementi che è possibile all’autore esprimere il proprio spirito creativo in maniera originale, ottenendo un risultato che costituisca una creazione intellettuale (44).

121. In ogni caso, sarà compito del giudice nazionale accertare se tale ipotesi ricorra nella presente causa.

122. In base a quanto precede, suggerisco alla Corte di dichiarare che l’articolo 2, lettera a), della direttiva 2001/29 debba essere interpretato nel senso che la riproduzione, in un programma per elaboratore o in un manuale d’uso, di determinati elementi descritti nel manuale di un altro programma per elaboratore può costituire una violazione del diritto d’autore su quest’ultimo manuale se gli elementi così riprodotti sono espressione della creazione intellettuale dell’autore, circostanza che dovrà essere verificata dal giudice nazionale.

V –    Conclusione

123. Alla luce di tutte le suesposte considerazioni, suggerisco alla Corte di rispondere alle questioni poste dalla High Court of Justice (England & Wales), Chancery Division nel modo seguente:

«1)      L’articolo 1, paragrafo 2, della direttiva 91/250/CEE del Consiglio, del 14 maggio 1991, relativa alla tutela giuridica dei programmi per elaboratore, dev’essere interpretato nel senso che le funzionalità di un programma per elaboratore e il linguaggio di programmazione non sono in quanto tali tutelabili mediante il diritto d’autore. Sarà compito del giudice nazionale verificare se, riproducendo tali funzionalità in un programma per elaboratore, l’autore di detto programma abbia riprodotto una parte considerevole degli elementi del primo programma che costituiscono espressione della creazione intellettuale propria del suo autore.

2)      Gli articoli 1, paragrafo 2, e 6 della direttiva 91/250 devono essere interpretati nel senso che non sono considerate come atti soggetti ad autorizzazione la riproduzione del codice o la traduzione della forma del codice di un formato di file di dati da parte del licenziatario per poter scrivere, nel proprio programma per elaboratore, un codice sorgente che legga e scriva tale formato di file, purché siffatta operazione sia assolutamente indispensabile al fine di ottenere le informazioni necessarie per conseguire l’interoperabilità tra gli elementi di programmi diversi. Detta operazione non deve avere l’effetto di consentire al licenziatario di copiare il codice del programma per elaboratore nel proprio programma, circostanza che dovrà essere verificata dal giudice nazionale.

3)      L’articolo 5, paragrafo 3, della direttiva 91/250, in combinato disposto con gli articoli 4, lettere a) e b), e 5, paragrafo 1, della medesima direttiva, dev’essere interpretato nel senso che l’espressione «le operazioni di caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione del programma che [la persona abilitata] ha il diritto di effettuare» si riferisce alle operazioni per le quali tale persona ha ottenuto un’autorizzazione dal titolare del diritto nonché alle operazioni di caricamento e di svolgimento necessarie per un uso del programma per elaboratore conforme alla sua destinazione. L’osservazione, lo studio e la sperimentazione del funzionamento di un programma per elaboratore effettuati conformemente a tale disposizione non devono avere l’effetto di consentire alla persona autorizzata a utilizzare una copia di detto programma di avere accesso a informazioni protette dal diritto d’autore, quali il codice sorgente o il codice oggetto.

4)      L’articolo 2, lettera a), della direttiva 2001/29/CE del Parlamento europeo e del Consiglio, del 22 maggio 2001, sull’armonizzazione di taluni aspetti del diritto d’autore e dei diritti connessi nella società dell’informazione, dev’essere interpretato nel senso che la riproduzione, in un programma per elaboratore o in un manuale d’uso, di determinati elementi descritti nel manuale di un altro programma per elaboratore può costituire una violazione del diritto d’autore su quest’ultimo manuale se gli elementi così riprodotti costituiscono espressione della creazione intellettuale propria dell’autore, circostanza che dovrà essere accertata dal giudice nazionale».


1 – Lingua originale: il francese.


2 – Direttiva del Consiglio, del 14 maggio 1991, relativa alla tutela giuridica dei programmi per elaboratore (GU L 122, pag. 42).


3 – Direttiva del Parlamento europeo e del Consiglio, del 22 maggio 2001, sull’armonizzazione di taluni aspetti del diritto d’autore e dei diritti connessi nella società dell’informazione (GU L 167, pag. 10).


4 – V. primo, quarto e quinto considerando di tale direttiva.


5 – V. quattordicesimo considerando della direttiva 91/250.


6 – V. articolo 1, paragrafo 1, di tale direttiva.


7 – V. articolo 1, paragrafo 2, lettera a), della direttiva 2001/29.


8 – Gli input sono i dati inseriti dall’utente.


9 – Gli output sono i risultati degli input trattati dal programma per elaboratore.


10 – All’origine di un programma per elaboratore vi è il codice sorgente, scritto dal programmatore. Tale codice, costituito di parole, è intelligibile per la mente umana. Esso, tuttavia, non è eseguibile dalla macchina. Per divenirlo, dev’essere passato al compilatore per venire tradotto in linguaggio macchina in forma binaria, di norma espresso con le cifre 0 e 1. Quest’ultimo è ciò che viene denominato «codice oggetto».


11 – Il giudice del rinvio sembra utilizzare indifferentemente i termini «funzione» e «funzionalità» nelle questioni pregiudiziali e nel testo della decisione di rinvio. Per ragioni di chiarezza, nelle presenti conclusioni utilizzerò solo il termine «funzionalità».


12 – V. articolo 1, paragrafo 2, della direttiva 91/250.


13 – Il Trattato, adottato a Ginevra il 20 dicembre 1996, è stato approvato in nome della Comunità europea con decisione del Consiglio del 16 marzo 2000, 2000/278/CE (GU L 89, pag. 6).


14 – Proposta di direttiva del Consiglio relativa alla tutela giuridica dei programmi per elaboratore [COM(1988) 816 def.; in prosieguo: la «proposta di direttiva»].


15 – V. articolo 1, paragrafo 1, primo comma, della seconda parte della proposta di direttiva, intitolata «Le singole disposizioni».


16 – V. punto 2.3 della proposta di direttiva.


17 – V. punto 2.5 della proposta di direttiva.


18 – Causa C‑393/09 (Racc. pag. I‑13971).


19 – Punto 35.


20 – Punto 38.


21 – V. sentenza della High Court of Justice (England & Wales) del 30 luglio 2004, Navitaire Inc. v. EasyJet [(2004) EWHC 1725 (Ch), punti 116 e 117].


22 – V. quattordicesimo considerando e articolo 1, paragrafo 2, di tale direttiva.


23 – V. punto 2.4 della proposta di direttiva.


24 – V. punto 3.7 della proposta di direttiva.


25 – Ibidem.


26 – Causa C‑5/08 (Racc. pag. I‑6569).


27 – Punto 39.


28 – V. articolo 1, paragrafo 1, della direttiva 91/250. V. anche articolo 1, paragrafo 2, della proposta di direttiva.


29 – V. anche articolo 1, paragrafo 3, della proposta di direttiva.


30 – V. punti 67‑69 della decisione di rinvio.


31 – V. punto 11 della decisione di rinvio.


32 – V. Roussel, P.: «La maîtrise d’un langage de programmation s’acquiert par la pratique», RevueCommunication Commerce électronique, n. 4, aprile 2005, studio 15.


33 – Le parti e il giudice del rinvio sembrano ammettere che il formato dei file di dati SAS sia un’interfaccia logica.


34 – V. punto 96 delle osservazioni scritte del SAS Institute.


35 – V. dodicesimo considerando della direttiva 91/250.


36 – V. undicesimo considerando di tale direttiva.


37 – V. articolo 6, paragrafo 1, lettere da a) a c), della direttiva 91/250.


38 – Il corsivo è mio.


39 – V. anche diciottesimo considerando della direttiva 91/250.


40 – Il corsivo è mio.


41 – Articolo 4, lettere a) e b), di tale direttiva.


42 – Tali scopi sono elencati nella settima questione, sub a)‑g).


43 – Punti 41 e 42.


44 – V., in tal senso, sentenza Infopaq International, cit. (punto 45).