Gaia Bottà

Android N, dalle API Java a OpenJDK

Google accantonerà le API Java, oggetto dell'annosa contesa con Oracle, per abbracciare le librerie OpenJDK. Mountain View ne parla come di una questione puramente tecnologica

Roma - Android N, la prossima versione del sistema operativo mobile di Google, è ancora lontana, ma incarnerà un cambiamento strategico per Mountain View: alle API Java, oggetto del contendere dell'annosa battaglia ingaggiata da Oracle, sostituirà il corrispettivo OpenJDK, rilasciato sotto licenza GPLv2.

Android, prima con Dalvik e poi con Android Runtime (ART), si assicura la funzionalità del codice delle proprie app interpretando il Java ByteCode. Il meccanismo fino ad ora ha fatto affidamento sulle API Java, derivate dal progetto Harmony, scaturito da Apache e interrotto con l'acquisizione di Sun Microsystems da parte di Oracle, e sul codice di implementazione sviluppato dalla stessa Google.

Google ha ora dato conferma di certi indizi rivelati nel codice di cui si è iniziato a dibattere su Hacker News: a partire dal prossimo Android N, le API Java verranno sostituite dalle librerie OpenJDK, progetto completamente open.
"Nella prossima release di Android - ha riferito la Grande G a VentureBeat - abbiamo in programma di transitare dalle librerie Java di Android a un approccio basato su OpenJDK, creando un patrimonio comune di codice per gli sviluppatori che vogliano offrire applicazioni e servizi".
"Quale piattaforma open source - ha spiegato il portavoce di Google - Android è costruito sulla base della collaborazione della community open source": anche Mountain View, in linea con i colossi di settore, contribuisce allo sviluppo di OpenJDK, e pianifica in futuro di consolidare questo rapporto. Google la rappresenta come una questione puramente tecnologica: lo scorso anno OpenJDK si è allineato col supporto alle funzioni di Java SE 8 e ora i tempi sarebbero maturi per la migrazione.

Ma a muovere Google non ci sono probabilmente solo motivazioni tecnologiche: come suggerito da più parti in passato, abbracciare il corrispettivo open delle API Java permetterebbe a Mountain View di proteggere Android dalle pretese di Oracle. Nel confronto tra le due aziende, dopo che la Corte Suprema statunitense non ha accettato di prendere in esame il ricorso di Google, la giustizia ha stabilito che le API di Java sono protette da copyright e che sia Google a dover dimostrare di averle impiegate per Android in un regime di fair use. Transitando a OpenJDK, il cui codice è rilasciato da Oracle sotto licenza GPLv2, Google metterebbe se non altro il proprio futuro al riparo dalla rivendicazioni di Oracle.
A complicare la questione, specula Florian Mueller, potrebbero esserci proprio i termini delle licenze sotto cui è rilasciato il codice di OpenJDK: Google e Oracle potrebbero divergere di nuovo sulla cosiddetta Classpath Exception che contraddistingue le librerie OpenJDK, che non riverbera obbligatoriamente sull'applicativo le licenze delle librerie che utilizza.

Gaia Bottà
Notizie collegate
  • BusinessJava ed Android, caso chiuso?La Corte Suprema respinge il ricorso di Google: le API restano tutelate da copyright e Mountain View deve ora dimostrare di rientrare nel fair use di quelle di Oracle
  • TecnologiaIcedRobot, fork di Android contro OracleUn piccolo gruppo di sviluppatori annuncia di aver dato vita all'ennesimo "fork" del mondo open source: IcedRobot è pensato per mettere Android al sicuro dalle pretese legali di Oracle e per renderlo compatibile con sistemi desktop x86
  • TecnologiaOra Java è tutto open sourceSotto GPL presto anche le ultime porzioni del codice di Java che erano rimaste sotto la vecchia licenza. Le distribuzioni Linux potranno così includere una versione dell'OpenSDK contenente tutto il codice Java
5 Commenti alla Notizia Android N, dalle API Java a OpenJDK
Ordina
  • qualcuno mi saprebbe spiegare le ultime quattro righe, e il problema della "cosiddetta Classpath Exception"?
  • - Scritto da: zanoprova
    > qualcuno mi saprebbe spiegare le ultime quattro
    > righe, e il problema della "cosiddetta Classpath
    > Exception"?

    Avevo scritto la spiegazione dettagliata, ma su questo browser mi si è ricaricata la pagina ed ho perso tutto. Maledizione!!

    Sintesi: la CE è una clausola aggiuntiva alla GPL che esonera dal rilasciare GPL anche il lavoro derivato. C'è nella OpenJDK che google intende usare, ma non nella JavaME che Oracle dirà che è quella effettivamente usata. Ecco le ragioni del contendere.
  • >
    > Avevo scritto la spiegazione dettagliata, ma su
    > questo browser mi si è ricaricata la pagina ed ho
    > perso tutto.
    > Maledizione!!
    >

    usa la visualizazzione classica (e' il segreto di pulcinella)
    non+autenticato
  • grazie per la delucidazione... adesso mi rileggo il tutto 4 o 5 volte e sono a posto.

    Ciao,
    Giacomo
  • - Scritto da: bradipao

    >
    > Sintesi: la CE è una clausola aggiuntiva alla GPL
    > che esonera dal rilasciare GPL anche il lavoro
    > derivato. C'è nella OpenJDK che google intende
    > usare, ma non nella JavaME che Oracle dirà che è
    > quella effettivamente usata. Ecco le ragioni del
    > contendere.

    Non mi sembra che la JavaME c'entri molto eh !

    Android non usa la JavaME intesa come macchina virtuale, visto che Dalvik e ART sono cose completamente diverse, mentre per quanto riguarda il vero oggetto del contendere che sono le API, Android NON usa le api di JavaME ma le sue private, più le API standard che se prende da OpenJDK non dovrebbe avere problemi.

    Sinceramente pensavo che fin da prima avessero usato le OpenJDK che per quanto li riguarda, sono compatibili al 100%.

    Per questo non comprendevo l'oggetto del contendere, ora che l'articolo mi spiega che hanno usato le implementazioni di SUN/Apache incomincio a pensare che abbia ragione Oracle, un'altra volta Google impara a schifare la GPL.
    non+autenticato