Software & Diritto d’autore: API, Interoperabilità e Fair Use
di Ambra Pacitti
”«Applying copyright law to computer programs
Stahl, First Circuit Judge, Court of Appeal of the United StatesLotus Dev. Corp. v. Borland Int - 15 maggio 1998
is like assembling a jigsaw puzzle whose pieces do not quite fit»
Il software, inteso quale insieme organizzato e strutturato di istruzioni capace di far eseguire una funzione predefinita per mezzo di un elaboratore elettronico, in Italia è protetto dal diritto d’autore ai sensi della L. 633/1941[1], negli Stati Uniti d’America dal Copyright Act[2], mentre l’Unione Europea ha adottato la Direttiva Software 2009/24/CE. Ad una prima lettura, le previsioni normative sopracitate appaiono sufficientemente tutelanti ove sanciscono il novero dei diritti esclusivi scaturenti dai programmi per elaboratore e le relative limitazioni. Nella pratica, però, l’applicazione di tali regole è tutto tranne che pacifica, né tantomeno uniforme. Ne è prova la controversia instaurata nel 2010 da Oracle America Inc. nei confronti di Google Inc., tuttora aperta, riguardante la tutelabilità per mezzo del diritto d’autore (copyrightability) delle API – Application Programming Interfaces. Le sentenze emanate nel corso della vicenda vedono giudici alternarsi nel ritenere Google non colpevole di alcuna violazione o indubitabilmente responsabile. Parimenti, l’opinione pubblica è spaccata in due sin dagli albori della vicenda[3]. Non sono i fatti o la tecnologia adottata a risultare controversi – d’altronde, come si dirà in seguito, Google ha ammesso di aver utilizzato parte delle API Java per il proprio sistema Android – bensì le risultanze giuridiche, che si presentano irrimediabilmente contrapposte.
Il presente articolo si propone di analizzare le contrastanti posizioni giuridiche emerse nel corso della vicenda Oracle – Google, a dimostrazione delle possibili problematiche scaturenti dall’applicazione del diritto d’autore ai programmi per elaboratore[4]. Per fare ciò, è innanzitutto necessaria una breve analisi della tecnologia oggetto della controversia.
1. API
Le API – Application Programming Interfaces, permettono a due o più programmi e/o piattaforme di comunicare tra loro[5]. La MuleSoft Inc. paragona l’API ad un cameriere[6]. Immaginatevi al ristorante (i.e. sito web che compara i voli di diverse compagnie aeree), dove, una volta sfogliato il menù, decidete cosa ordinare (destinazioni, date del volo) e chiedete al cameriere di prendere l’ordine, che andrà in cucina e tornerà con il piatto. Allo stesso modo, almeno a livello concettuale, l’API interrogherà i database dei siti web delle compagnie aeree per ottenere i voli disponibili nel giorno selezionato e comunicare la risposta all’utente. La controversia Oracle – Google riguarda le API di Java[7], il linguaggio di programmazione creato nel 1996 da Sun Microsystems Inc., ciascuna costituita da pacchetti (packages), classi (classes) e metodi (methods). Adottando il medesimo esempio del Giudice Alsup nella sentenza del 2012[8], che ha visto il (temporaneo) trionfo di Google, l’API deve essere immaginata come una libreria, il pacchetto come una mensola, ogni classe come un libro sulla mensola, ogni metodo come un capitolo su come fare qualcosa[9]. Per comprendere la questione giuridica sottesa, è importante capire che ogni metodo rappresenta un comando ed è composto da un method header, o declaration, ovvero il “nome”, e un method body, o implementation, dove è contenuto il codice che ne implementa la rispettiva funzionalità. Sostanzialmente, tramite i metodi è possibile invocare una specifica funzione – ad esempio, tramite il metodo Max contenuto nella classe Math, una volta inviati due numeri (input), si chiede al programma di restituire la somma dei due (output). Ogni comando richiama una funzione predefinita e rappresenta, dunque, un supporto agli sviluppatori, che non dovranno riscrivere nuovamente l’intero codice («Write once, run everywhere»[10]).
2. LA VICENDA GIURIDICA
Oracle ha convenuto in giudizio Google accusando la società di aver riprodotto il declaration code, così come la struttura, sequenza ed organizzazione di 37 pacchetti API Java. Google non ha negato di aver riprodotto tali elementi, ammontanti al 3% dell’intero sistema Android OS[11], ma ha sostenuto, sin dal 2010, che tali elementi non possano essere oggetto di copyright e che, anche qualora lo fossero, rientrerebbero nella c.d. fair use doctrine, la quale, in specifici casi, non sanziona la violazione del diritto d’autore altrui. La questione giuridica di fondo è, dunque, se gli elementi riprodotti da Google siano, o meno, tutelati dal diritto d’autore.
3. INTERPRETAZIONI GIURIDICHE CONTRAPPOSTE
1. Copyrightability
Il Giudice Alsup, nel 2012, ha rigettato le richieste di Oracle statuendo che i pacchetti riprodotti rappresentano una gerarchia di oltre 6.000 comandi per eseguire funzioni preassegnate e che, seppur creativa e originale, la stessa non può essere protetta dal diritto d’autore. Il ragionamento di Alsup fa leva sul principio per cui «When there is only one way to express an idea or function, then everyone is free to do so and no one can monopolize that expression»[12], nonché sulla necessità di garantire l’interoperabilità tra programmi diversi[13] e, in definitiva, sull’impossibilità di ottenere la protezione richiesta da Oracle per idee, sistemi o processi, potendo costituire oggetto di tutela unicamente l’espressione di un’idea[14]. Nel 2014[15], la Corte d’Appello californiana giunge alla conclusione opposta, ricordando che il copyright si estende agli elementi letterali di una programma, come il codice sorgente, ma aggiungendo che, tramite una valutazione caso per caso, la tutela potrebbe ampliarsi anche agli elementi non letterali (i.e. sequenza, struttura), ravvisandone la sussistenza nel caso di specie, poiché i pacchetti API copiati «are expressive and could have been written and organized in any number of ways to achieve the same functions»[16].
2. Merger and short phrases doctrine
Alsup utilizza la c.d. merger doctrine per affermare che il declaring code non può essere protetto dal copyright[17]. Trattasi di un’eccezione alla dicotomia idee/espressioni sopramenzionata: quando vi è un numero limitato di modi per esprimere un’idea, l’idea deve intendersi “fusa” con l’espressione e, di conseguenza, nemmeno l’espressione può essere tutelata. Nel caso dei programmi per elaboratore, quando specifiche parti del codice, anche se originariamente oggetto di copyright, sono gli unici ed essenziali mezzi per raggiungere un determinato obiettivo, il loro utilizzo da parte di altri soggetti non comporta una violazione[18]. Google e Alsup concordano nel ritenere che sia l’implementing code a meritare una tutela e non, invece, il declaring code, mentre Oracle, supportato dalla Corte d’Appello, non ritiene applicabile la merger doctrine, poiché nulla avrebbe impedito a Google di scrivere il proprio declaring code per ottenere il medesimo risultato dei pacchetti Java riprodotti[19], di conseguenza ritenendo che non vi fosse un unico modo per esprimere tale idea. Le Corti americane si scontrano, poi, sulla c.d. short names doctrine, che Alsup richiama[20] per ricordare che le parole o le frasi brevi, così come nomi, titoli e slogan, non possono essere oggetto di copyright[21]. La Corte d’Appello, invece, ribadisce che il punto non è se quanto copiato si componga unicamente di short phrases, ma se queste siano creative. Rinvenendovi una «combinazione originale di elementi»[22] e sottolineando come la pretesa di Oracle non fosse incentrata su una specifica frase del codice, bensì sull’insieme delle 7.000 linee riprodotte, ritiene non applicabile la short phrases doctrine.
3. Fair Use
La dottrina del c.d. fair use permette di utilizzare del materiale altrui protetto da copyright per determinate ragioni, raccolte all’interno della Sezione 107 del Copyright Act. Nel caso di specie, la sentenza del 2012, così come la successiva decisione del 2016, ritengono ravvisabile un fair use nell’utilizzo da parte di Google dei 37 pacchetti API, poiché questo sarebbe trasformativo e, come ribadito dalla EFF, l’importanza delle API risiede proprio nella loro capacità di facilitare l’innovazione tecnologica[23]. Su tale aspetto, la Corte d’Appello ha richiesto alla Corte inferiore di pronunciarsi, la quale, nel 2016[24], si è schierata in favore di Google ritenendo sussistente il fair use. La decisione è stata nuovamente ribaltata nel 2018[25] dalla medesima Corte d’Appello pronunciatasi nel 2014. A gennaio 2019, Google si è rivolta alla Corte Suprema e la controversia, del valore di circa 9 miliardi di dollari, è tuttora aperta, portando con sé una questione giuridica di notevole importanza per la tutela del software e i suoi limiti.
[1] Art. 2, p. 8, L. 22 aprile 1941, n. 633 “Sono compresi nella protezione (…) i programmi per elaboratore, in qualsiasi forma espressi purché originali quale risultato di creazione intellettuale dell’autore”.
[2] Per le finalità del presente articolo, sarà volutamente ignorata la distinzione tra copyright e diritto d’autore.
[3] La EFF – Electronic Frontier Foundation ha presentato due amicus brief in favore di Google. Il Register of Copyrights si è schierato in favore di Oracle. Per maggiori informazioni: https://www.eff.org/it/cases/oracle-v-google.
[4] Parte della dottrina, europea così come statunitense, ritiene che il software debba godere unicamente di una tutela brevettuale e non della protezione del diritto d’autore. Vedasi: SAMUELSON, P., CONTU Revisited: The Case Against Copyright Protection for Computer Programs in Machine-readable Forms, 1984, Duke L.J.
[5] Sull’importanza delle API, si veda: BORGOGNO, O. Data sharing and interoperability: Fostering innovation and competition through APIs, Computer Law & Security Review, 2019.
[6] MulseSoft Videos, What is an API?, https://www.youtube.com/watch?v=s7wmiS2mSXY.
[7] Nel 2010, Oracle Inc. ha acquisito la società Sun Microsystems Inc., che negli anni ’90 ha realizzato il linguaggio di programmazione Java.
[8] Oracle Am., Inc. v. Google Inc., 872 F. Supp. 2d 974 (N.D. Cal. 2012). Per il testo della sentenza, vedasi: https://www.eff.org/files/alsup_api_ruling.pdf.
[9] Ivi, p. 5.
[10] Slogan creato dalla Sun Microsystems Inc. per illustrare i vantaggi del linguaggio Java.
[11] Inizialmente Google si è rivolta a Sun per sviluppare il codice da utilizzare negli smartphone Android, ma, stando alle regole Java, avrebbe dovuto pubblicare il codice. Per evitarlo, Google ha realizzato la propria macchina virtuale e ha implementato il proprio codice, salvo per i 37 pacchetti oggetto di giudizio.
[12] Oracle Am., Inc. v. Google Inc. (2012), p. 3
[13] Anche la Corte di Giustizia Europea, con Sentenza 2 maggio 2012, C-406/10, ha affermato che “non costituiscono una forma di espressione di un programma per elaboratore e non sono, a tale titolo, tutelati dal diritto d’autore, né la funzionalità di un programma siffatto, né il linguaggio di programmazione e il formato di file di dati utilizzati nell’ambito di un tale programma per sfruttare talune delle sue funzioni”.
[14] Oracle Am., Inc. v. Google Inc. (2012), p. 34
[15] Oracle Am., Inc. v. Google Inc., 750 F.3d 1339, 1348 (Fed. Cir. 2014).
[16] Ivi, p. 45.
[17] Oracle Am., Inc. v. Google Inc. (2012), p. 33
[18] Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693; 119 A.L.R. Fed. 741; 61 USLW 2434, 37 Fed. R. Evid. Serv. 348
[19] Oracle Am., Inc. v. Google Inc. (2014), p. 45
[20] Oracle Am., Inc. v. Google Inc. (2012), p. 14
[21] Oracle Am., Inc. v. Google Inc. (2012), p. 11
[22] “The question is not whether a short phrase or series of short phrases can be extracted from the work, but whether the manner in which they are used or strung together exhibits creativity”, Oracle Am., Inc. v. Google Inc. (2014), p. 34
[23]EFF – Eletronic Frontier Foundation, Amicus Brief of Computer Scientists in Support of Petition of Writ of Certiorari, https://www.eff.org/document/amicus-brief-computer-scientists-scotus
[24] Oracle Am., Inc. v. Google Inc., No. C 10-03561, (2016)
[25] Oracle Am., Inc. v. Google Inc., (2018), 750 F.3d 1381, 750 F.3d 1376. Per il testo della sentenza, vedasi: http://www.cafc.uscourts.gov/sites/default/files/opinions-orders/17-1118.Opinion.3-26-2018.1.PDF
Bibliografia
BESSEN, J., HUNT, R., An Empirical Look at Software Patents, Journal for Economics and Management Strategy, 2007
BORGOGNO, O., Data sharing and interoperability: Fostering innovation and competition through APIs, Computer Law & Security Review, 2019
EFF – ELECTRONIC FRONTIER FOUNDATION, Amicus Brief of Computer Scientists in Support of Petition of Writ of Certiorari, 2014
LEE, T., Will the Supreme Court Save Us from Software Patents?, Wash. Post, 2014
MENELL, P., An Analysis of the Scope of Copyright Protection for Application Programs, 41 Stan. L. Rev., 1989
SAMUELSON, P., CONTU Revisited: The Case Against Copyright Protection for Computer Programs in Machine-readable Forms, 1984, Duke L.J.
THE ECONOMIST, Technology Quarterly, Stalking Trolls, 2014
Giurisprudenza e normativa di riferimento
COMPUTER ASSOCIATES INTERNATIONAL INC. V. ALTAI INC., 1992
CORTE DI GIUSTIZIA EUROPEA, Sentenza 2012, C-406/10
COPYRIGHT ACT, 1972
DIRETTIVA SOFTWARE 2009/24/CE
LEGGE SUL DIRITTO D’AUTORE, 22 aprile 1941, n. 633
LOTUS DEV. CORP. V. BORLAND INT, 1995
ORACLE AM. INC. V. GOOGLE INC., 872 F. Supp. 2d 974 (N.D. Cal. 2012)
ORACLE AM. INC. V. GOOGLE INC., 750 F.3d 1339, 1348 (Fed. Cir. 2014)
ORACLE AM. INC. V. GOOGLE INC., No. C 10-03561, (2016)
ORACLE AM. INC. V. GOOGLE INC., 50 F.3d 1381, 750 F.3d 1376 (2018)
Autore: