Oracle vs Google: le API Java e il copyright

Oracle vs Google: le API Java e il copyright

Aggiornamento 28 maggio 2016
Un tribunale americano, a chiusura della vicenda, ha sostenuto che l'utilizzo delle API Java da parte di Google ricade sotto la tutela del fair use, quindi Google non ha commesso alcun illecito né deve pagare i diritti a Oracle. Oracle ha annunciato l'intenzione di presentare appello.
---------------------------------
Il 9 maggio (causa 1021-2022/2013) una Corte Federale Usa, ribaltando il verdetto di primo grado, ha dichiarato che le API Java sono soggette a copyright. Si tratta di una sentenza che ha fatto molto scalpore, per le conseguenze che implica.


Oracle ha acquisito i diritti di Java quando ha comprato Sun Microsystem, inventore di Java. Ovviamente Sun protesse Java con brevetti e licenza, ma nel caso specifico Oracle invoca il copyright per le API. Per la precisione la disputa ha riguardato 37 di questi pacchetti di codice sorgente che Google avrebbe riprodotto, senza licenza Oracle, nel sistema operativo Android.
Le API (Application Programming Interface) sono un insieme di procedure rese disponibili ai programmatori al fine di realizzare software compatibili e permettere l'interoperabilità, consentono ai programmatori di non dover riscrivere da zero ogni volta il codice per determinate funzioni, e quindi si possono considerare degli standard di comunicazione tra programmi.
Ovviamente la messa a disposizione delle API è generalmente interesse dell'azienda, perché in tal modo altri potranno realizzare software compatibile e quindi alimentare le vendite del software o sistema operativo che contiene le API. Per questo motivo le API sono generalmente ben documentate in libri e siti web, la loro diffusione e utilizzabilità è spesso la chiave di successo di un software.
Google ha scritto la propria versione di Java per Android, però, per consentire ai programmatori di scrivere applicazioni per il suo sistema operativo mobile, Google fa affidamento sulle API Java. Queste presentano ovvie caratteristiche di originalità, quindi in teoria sono assoggettabili a copyright ai sensi della sezione 102 b del Copyright Act, ma l'azienda di Mountain View ha sostenuto che tale protezione non si applica alle funzionalità del programma, quegli elementi che garantiscono l'interoperabilità. Tale argomentazione è stata accolta in primo grado.

Nel 2012, infatti, il giudice Alsup ha emesso una sentenza favorevole a Google.
Alsup si è rivelato un giudice attento e particolarmente versato nelle questioni tecniche di programmazione software. Durante un'udienza, mentre il legale di Oracle argomentava che Google aveva copiato parte del codice Java per accelerare i tempi per entrare nel mercato mobile con Android, Alsup rivelava di aver scritto lui stesso del codice di programmazione (ovviamente non in Java). Nel caso specifico si discuteva dell'API rangeCheck (serve per verificare se un valore è compreso in un certo range), cioè di 8 righe di codice, che Alsup ha sostenuto che potrebbero essere state copiate anche per un mero accidente.

Data la sua competenza, quindi, non stupisce che la decisione del giudice Alsup si segnala per chiarezza delle argomentazioni.
Sostanzialmente una API deve essere scomposta in quattro elementi, che richiedono un'analisi separata per la valutazione della assoggettabilità a copyright: i nomi dei metodi, classi e pacchetti di API; la struttura, sequenza e organizzazione di questi elementi; le specifiche del metodo; l'applicazione del metodo.

Secondo Alsup, i nomi di metodi, classi e pacchetti non sono assoggettabili a copyright in conseguenza della "merger doctrine".
Il copyright concede protezione solo a chi esprime in un certo modo l'idea ("who has clothed the idea in form") che quindi riceve tutela per tale espressione, ma non per l'idea stessa. Il principio si ritrova nell'art. 1.2 della direttiva software dell'Unione europea (2009/24/EC) che prevede espressamente che le idee e i principi alla base di un software, compreso quelli alla base delle sue interfacce, non sono tutelati dal diritto d'autore.
Alcuni tribunali hanno però riconosciuto che particolari idee si possono esprimere solo in un certo modo. In questi casi anche l'espressione dell'idea non riceve protezione, o comunque una protezione minore. Negli Usa tale principio è noto come "merger doctrine" (principio di fusione) appunto perché l'espressione è considerata indissolubilmente fusa con l'idea.
Inoltre, alle ipotesi indicate si applicherebbe anche la "short phrase rule" che consente il riutilizzo di brevi porzioni (ad esempio rangeCheck sono 8 linee di codice su 15 milioni di linee che formano Android).
Le rivendicazioni sulla struttura, la sequenza e l'organizzazione delle API sono state rigettate in quanto la sezione 102 del Copyright Act esclude la protezione di un'idea, procedura, processo, sistema, modalità di funzionamento. Inoltre, consentire alla Oracle di rivendicare il copyright su tali elementi di fatto sarebbe un modo per saltare il limite dei 20 anni relativo ai brevetti, trattandosi di elementi assoggettabili a protezione brevettuale.
Per quanto riguarda le istanze di Oracle in merito alle specifiche di metodo, non sono state accolte perché le specifiche delle API Android devono essere obbligatoriamente identiche a quelle Java (per le regole di Java) per consentire ad Android di funzionare con Java. Anche qui si applica, quindi, la "merger doctrine".
Infine, in relazione all'attuazione dei metodi contenuti nelle API, pur ritenendo che sono astrattamente tutelabili, il giudice Alsup ha deciso che non erano stati copiati, ma Google aveva scritto le proprie implementazioni delle API Java.

La decisione di Alsup si può, quindi, sintetizzare in questo modo: se è possibile un solo modo per dichiarare una data funzionalità, così che se si vuole utilizzare quella data funzione si deve scrivere quella specifica linea di codice in quel modo, allora non si può invocarne la tutela del copyright.


È interessante notare che durante il processo il giudice Alsup ha citato espressamente la sentenza della Corte di Giustizia europea nel caso SAS Institute, nella quale la Corte aveva chiaramente sentenziato che la tutela si applica alla forma di espressione di un programma per elaboratore, cioè il suo codice, ma non alle idee e ai principi alla base del programma, compreso quelli alla base dell'interfaccia, e di conseguenza non sono tutelate le funzionalità del programma né il linguaggio di programmazione né il formato dei file utilizzato.

La Corte Federale ha, invece, ribaltato la sentenza in appello, sostenendo l'assoggettabilità delle API al copyright, concludendo che il codice che dichiara la struttura, la sequenza e l'organizzazione dei pacchetti API ha diritto alla tutela del copyright. Quindi Google ha violato il copyright di Oracle.
Oracle aveva già provato ad invocare la protezione brevettuale contro Google, ed anche quella sul copyright di Java, non riuscendo a provare che Google avesse copiato. Adesso la Corte Federale statuisce che vi è una tutela per la sintassi delle API.

Questa decisione avrà forti ripercussioni. Tutti gli sviluppatori di software usano API per consentire il dialogo tra il proprio e gli altri software, come ad esempio i browser (i browser contengono codice Javascript di Netscape) che le sfruttano, ad esempio, per poter visualizzare le pagine web su differenti sistemi operativi.
La possibilità di utilizzare API consente di passare da una piattaforma software ad un'altra (posso utilizzare il mio browser su differenti sistemi operativi), permettendo agli utenti di scegliere quella più adatta alle proprie esigenze, e consente anche di continuare ad utilizzare software datato e non più aggiornato.
L'assoggettabilità a copyright delle API comporterebbe, invece, il controllo dell'interoperabilità dei software, casomai impedendolo (se voglio passare a un diverso sistemo operativo dovrò utilizzare il browser di quel sistema operativo), bloccando la competizione e aprendo la strada al monopolio delle idee a scapito del progresso e dello sviluppo industriale. La tutela delle API significa l'impossibilità o comunque l'estrema difficoltà di creare applicazioni compatibili tra loro. Considerando che l'attuale mercato si sta spostando sempre più verso applicazioni in cloud, la compatibilità tra software sarà sempre più rilevante in futuro, ed essa passa attraverso le API.
Invocare la tutela delle API appare più che altro un estremo tentativo di sopravvivenza in un mercato sempre più mobile nel quale Oracle non è mai riuscita ad entrare, nel quale invece Google si è fatta strada.
Ed è significativo che nel corso del processo 32 programmatori esperti hanno sostenuto la posizione di Google. Ancora più significativo è che dopo la decisione della Corte Federale, Automattic, produttore di WordPress, ha aggiornato le linee guida delle sue API annunciando su Twitter di non avere alcuna intenzione di rivendicare il copyright su di esse:

"[Update: 5.12.2014] One more thing – APIs like ours enable the kind of collaboration that makes the Internet great. We don't think APIs are copyrightable subject matter, and don't claim copyright in our APIs".

Ovviamente la causa non si è conclusa, al momento si è solo stabilito che le API devono ritenersi soggette a copyright, ma bisogna valutare (come chiesto dalla giuria) se l'utilizzo da parte di Google ricade sotto il fair use. La causa è stata rinviata per un ulteriore esame sull'applicabilità del fair use. In seguito Google potrà comunque ricorrere alla Corte Suprema.


In ogni caso una decisione di questo tipo probabilmente non potrebbe aversi in Europa, sulla scorta della sentenza della Corte di Giustizia europea che abbiamo citato più sopra.