Nella lunga ed annosa battaglia legale tra Oracle e Google, ci sono parecchi aspetti che vanno esaminati. Sostanzialmente, Oracle accusa Google di violazione di brevetti su Java, e la posizione di Big G può diventare critica in base ad una bozza di email di un anno fa di Tim Lindholm, ex sviluppatore di Sun ora in forza a Google, nella quale si sosteneva che fosse necessario “negoziare una licenza di Java nei termini dei propri bisogni”, in quanto ogni altro linguaggio “fa schifo”.

L’email di Lindholm si può interpretare in vari modi: gli altri linguaggi potrebbero “fare schifo” in quanto ormai Java, nel 2010, era già standardizzato all’interno della comunità di sviluppo di Android, mentre i “bisogni” di Google non sono definiti e potrebbero variare da una parte consistente ad una quota nulla. In ogni caso, la missiva può essere una prova fondamentale per Oracle per dimostrare la volontarietà di Google di violare le proprietà intellettuali di Sun, ora passate ad Oracle, nel qual caso la pena verrebbe triplicata.

Molti dei brevetti di Oracle sono già stati rigettati ed altri dichiarati invalidi, in un trend che è sempre andato verso il basso, ma i pareri tecnici nell’ambito dei brevetti sono state depositati oggi 8 agosto come termine ultimo. C’è da stare a vedere come si evolverà la cosa, e se effettivamente Google verrà dichiarata colpevole di violazione di brevetti, ed in questo caso se tale violazione sarà considerata volontaria o meno. Per l’attivista Florian Mueller, la vittoria di Oracle è quasi scontata, ma c’è da dire che Mueller è già stato smentito in passato con le sue opinioni sul caso.


Un’altra questione su cui Oracle attacca Google, e che è sempre sfuggita ai più, è una serie di presunte violazioni sul copyright. A questo proposito, Google ha presentato una mozione per un summary judgement, una sorta di “rito abbreviato” del sistema giudiziario anglosassone. La motivazione di Google sta nel fatto che Oracle non può semplicemente avanzare tali pretese, che sono principalmente basate su una supposta protezione delle specifiche delle API (Application Programming Interface) di Java, e non sull’effettiva copia del codice sorgente delle API stesse.

Per chi non mastica questi dettagli di programmazione, le API di un linguaggio sono una insieme di procedure messe a disposizione degli sviluppatori per l’esecuzione di compiti più comuni. Ad esempio, una comune API è quella funzione che, a partire da un qualsiasi numero reale, ne restituisce il valore assoluto, o quella che a partire da un qualsiasi “oggetto” del programma ne restituisce una rappresentazione alfanumerica (una “stringa”). Nomi, parametri, tipizzazione e funzionalità di queste API sono spesso convenzionalmente accettate e documentate in maniera standard. Infatti, in linguaggi come Java, è normale trovarsi a lavorare con migliaia di API. Nel caso di Android, vengono definite qualcosa come 800 mila tra “classi” e “interfacce”, ognuna con il suo gruppo di procedure che vanno a definire le API di Android. Risulta chiaro, quindi, che per potersi concentrare sullo sviluppo effettivo delle proprie applicazioni, sia fondamentale avere delle API comuni e con specifiche convenzionalmente accettate.

Java è un linguaggio di programmazione, ma l’implementazione di Java può variare sensibilmente in base alle specifiche delle sue API. Google ha però basato Android non sull’implementazione di Java fatta da Sun, bensi su quella della Apache Software Foundation, detta Harmony. Si tratta di un’implementazione libera di Java, e non è neanche l’unica. Di fatto, ogni implementazione di Java fa sì che le applicazioni compilate per tale implementazione non si possano eseguire nell’ambiente di un’altra implementazione. Dunque, le applicazioni per Harmony non sono compatibili con l’ambiente Java di Sun, così come non lo sono quelle di Android, pur trattandosi sostanzialmente sempre di Java.

La posizione di Oracle si basa sul fatto che le specifiche delle API di Android siano prese da Harmony, che è un’implementazione di Java, e pertanto violino il copyright dello stesso. La posizione di Google, così come degli esperti dipendenti e indipendenti di cui ha portato i pareri, è che i copyright non possano coprire le specifiche delle API. Del resto, Oracle non si è mai lamentata di violazioni di copyright in Harmony, e se Oracle avesse ragione su questo non solo Android riceverebbe un colpo molto duro, ma anche Harmony sarebbe spazzato via in quanto progetto gratuito, così come GNU Classpath e altre implementazioni di Java, andando contro lo stesso spirito che è sempre stato alla base di Java. E la stessa cosa varrebbe per tanti altri linguaggi di programmazione, di fatto rendendo lo sviluppo di implementazioni alternative praticamente impossibile. Insomma, un pericoloso precedente.

Anche solo in base al buon senso, la posizione di Google è sicuramente la più accettabile. Non è però chiaro se una vittoria di Mountain View su questo fronte possa alleggerire la sua posizione sul fronte dei brevetti che, per quanto limitata ai soli Stati Uniti, potrebbe porre fine ad Android come sistema operativo gratuito.