AndroidLab

Il Laboratorio Italiano Android e Google Chrome

È la notizia di queste ore, il colosso Oracle, che per chi non lo sapesse è la seconda azienda più grande ed economicamente potente nell’IT dopo Microsoft, fa causa a Google per aver infranto una serie di brevetti creando e distribuendo Android e aver violato il copyright, tutti i brevetti riguardano l’uso di Java come linguaggio di Android, in particolare nella creazione ed uso da parte di Google della Dalvik VM, cuore di Android.
Sono sicuro che avrete già letto molto su quest’argomento, ma cerchiamo di analizzare un po’ a più a fondo la situazione, che a mio avviso non è da prendere sotto gamba, soprattutto andando oltre Android.

Antefatti

Prima di analizzare la citazione di Oracle, bisogna tornare un po’ indietro a prima che Android nascesse, molto prima che Sun venisse acquisita da Oracle. Google aveva da poco acquisito il progetto della piattaforma mobile Android e puntava a lanciarlo anche prima che uscisse l’iPhone se non in contemporanea, per far ciò voleva che l’intero sistema si basasse su una JavaVM estremamente ottimizzata in modo da non far sentire la mancanza del codice compilato ed allo stesso tempo avere già una base di potenziali sviluppatori per il Market molto ampia. Google si rivolse allora direttamente a Sun, che aveva JavaME (che concedeva in licenza), per aprire un tavolo di discussione, presento il progetto Android a Sun, una piattaforma innovativa, moderna, veloce, profondamente integrata con il web e soprattutto open, chiedeva a Sun l’uso di JavaME lavorando assieme alla sua ottimizzazione (javaME era ed è penoso come prestazioni) ma soprattutto voleva che nel far ciò Sun rendesse JavaME open.
Mi immagino la discussione più o meno così:

G: Rendete open JavaME, lavorate con noi alla sua ottimizzazione e modernizzazione, rendiamolo il cuore di Android e facciamo che sia la piattaforma mobile del futuro.
S: No  voi continuate a guadagnare dalla pubblicità, noi che ci guadagniamo?
G: se tutto avrà successo come vogliamo che l’abbia, tutti useranno java e la stessa VM si potrà portare su altri dispositivi non solo mobile, pensate ad una tv o un’automobile, insieme rendondo la VM prestante quanto un linguaggio compilato, daremo nuovamente a Java la popolarità che va perdendo e lo renderemo il linguaggio più popolare tra gli sviluppatori. Se saprete gestire il successo, troverete il modo di monetizzarlo.
S: No! noi vogliamo i soldi ora, se volete usare JavaME pagate le microlicenze come tutti o nulla.
G: Allora faremo da noi una VM nuova da zero.

Google lascia perdere Sun e iniziò a creare da zero, senza usare nessuna tecnologia Sun, quella che poi sarà la Dalvik Virtual Machine che alla fine non ha nulla a che vedere con Java, ed è basata sulle librerie Harmony di Apache, che sono state create senza usare sorgenti di Sun.
Creare una nuova tecnologia da zero ha richiesto tempo, e le sue prime implementazioni come i veterani di android possono ricordare, erano tutto meno che prestanti, ma oggi possiamo dire che i risultati si vedono la dalvik è matura e prestante.
Nel frattempo Sun è rimasta con un pugno di mosche in mano, l’azienda è andata in crisi e l’anno scorso venne acquisita dal colosso Oracle, un retroscena dei giorni precedenti l’acquisizione ci viene dal padre del linguaggio Java, James Gosling, uscito da Sun dopo l’acquisizione, che in un post sul suo blog l’altro ieri ha ricordato che:

“Durante gli incontri per la fusione tra Oracle e Sun fummo interrogati a riguardo la situazione brevetti da Sun e Google, riuscivamo a vedere gli occhi degli avvocati di Oracle illuminarsi”

Non erro quindi nel dire che da un anno a questa parte Oracle più che pensare a come innovare i prodotti acquisiti, ha passato il tempo a studiarsi le carte per compilare oggi la citazione a Google per la violazione dei brevetti e del copyright. Ogni azienda ha il suo modo di lavorare e di innovare, evidentemente questo è il modo di Oracle.

La situazione ed i possibili sviluppi

Certo è normale che più una piattaforma diventa famosa e più tutti vogliono mangiarci sopra, poco importa che essa sia open (SCO vs Linux docet, e gli avvocati assunti da Oracle sono gli stessi di SCO N.d.A.), ma il gioco di Oracle è a dir poco pericoloso. In pratica dice, non importa come e perchè ti sei creato una tua VM, se questa VM crea bytecode da sorgenti scritti anche in java la tua VM automaticamente viola i miei brevetti, come a dire l’idea di VM  da codice java è mia e me le tengo io indipendentemente da tutto. Questo, nel caso il giudice dia ragione a Oracle, affosserebbe Java come linguaggio, quale azienda vorrebbe rischiare quando ci sono alternative più sicure?

I brevetti che la Dalvik infrange sarebbero i seguenti:

6125447: Protection domains to provide security in a computer system
6192476: Controlling access to a resource
5966702: Method and apparatus for pre-processing and packaging class files
7426720: System and method for dynamic preloading of classes through memory space cloning of a master runtime system process
RE38,104: Method and apparatus for resolving data references in generated code
6910205: Interpreting functions utilizing a hybrid of virtual and native machine
6061520: Method and system for performing static initialization

Come potete vedere da voi, nessuno di questi brevetti includono un solo algoritmo, sono solo tutti a livello vago, e possono applicarsi a molti casi. In pratica un altro frutto del sistema malato dei brevetti USA, fatto solo per ingrassare gli avvocati e frenare l’innovazione.

Per quanto riguarda la violazione del copyright, già posso dire che non sussiste. Come ho detto, Google ha Creato la Dalvik senza usare nemmeno una punto e virgola del codice di Sun, pur, non sarà difficile per Google dimostrarlo.

Per i brevetti se apre ora il solito valzer che durerà forse anni, ma già vi posso dire ad occhio e croce che ad esempio il brevetto 7426720 è inconsistente, descrivendo un metodo ed una pratica usata dagli albori del sistema unix, più o meno da quando è stato creato il metodo fork() ben prima che Java nascesse, e la cosa è descritta in una moltitudine di libri e manuali. Io stesso di recente ho usato questa tecnica per nell’implementazione di un semplice server che effettua il bilanciamento del carico tra più server http, spero che ora Oracle non citi in giudizio anche me.

Una cosa è certa, Google aveva visto arrivare questa denuncia il giorno stesso in cui si è saputo che Oracle acquisiva Sun, e da allora avrà preparato le giuste barricate intorno a quello che sta diventando ogni giorno di più il suo fiore all’occhiello.

Vedremo come si risolverà la faccenda la certezza della vittoria di Google, conoscendo il sistema americano non c’è. Ma due certezze ci sono sicuramente, la prima è che la cosa andrà molto per le lunghe ed il fatto che Oracle non ha allegato alla citazione immediatamente un ordine restrittivo nei confronti di Android, la dice lunga su quanto sia poca certa.

Sperando che primo o poi il sistema di brevetti USA cambi, la seconda certezza è che finalmente gli avvocati potranno comprarsi il nuovo super mega Hummer, sapete, era finita la benzina a quello vecchio…

Michele Dipace

Admin di Androidlab e "Computer Addicted", ha cominciato la sua"carriera" nella metà degli anni 80 sui computer 8 bit Commodore e Sinclair passando poi al 16 bit Amiga, diventandone grande appassionato. Oggi Linux user, crede che Android sia il sistema operativo destinato ad emergere nel mercato della telefonia mobile.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInPinterestGoogle PlusYouTube

  • Pingback: Tweets that mention Oracle cita Google per aver infranto brevetti usando Java. Perché il denaro viene prima della reputazione | AndroidLab -- Topsy.com()

  • Ormai è diventata una prassi in USA fare causa con l'unico scopo di far soldi…comunque concordo con ciò che è scritto nell'articolo (davvero ben scritto, complimenti ad Enrico)…Google non ha nulla da temere da Oracle, per me nella peggiore delle ipotesi si arriverà ad un accordo tra le parti, ovvero Google sgancia qualche milione di verdoni (tanto per lei sono spiccioli) e tutti vissero felici e contenti.

    • EnricoDroid

      Grazie per i complimenti:)
      Sucuramente non si arriverà al punto che si ritirino i terminali Android dal mercato, quanto per l'accordo ci può stare e alla peggio sarà quello, ma sarebbe una sconfitta per Android, senza contare che l'unico accordo che Oracle sembra voler accettare è un pagamento annuale fisso per la licenza d'uso+gli arretrati, il pagamento della licenza d'uso si riverserebbe direttamente su noi utenti naturalmente alla fine.
      La linea di principio è che non può passare il principio che una qualsiasi VM o simili "alimentata" a java automaticamente violi i loro brevetti…le prossime vittima può essere, nel momento in cui le web application divento popolari, GWT. O per non rimanere in ambito Google anche Scala, anzi a maggior ragione Scala, il cui bytecode è praticamente bytecode java con differenze minime.
      Qualche commentatore malizioso ha anche detto che il mandante è Jobs, essendo Jobs amico intimo del CEO di Oracle, ma non è così, Oracle l'avrebbe fatto a prescindere da Jobs.

      • Interessante anche il pensiero di Miguel de Icaza sull'argomento http://tirania.org/blog/archive/2010/Aug-13.html

        • EnricoDroid

          letto, beh porta un po' l'acqua al suo mulino con le previsioni di quello che farà google, ma tutta la ricostruzione è molto dettagliata.
          Una cosa più che esatta l'ho letta tra i commenti, ed è una cosa che io ripeto spesso, Google è una società di igegneri che ragiona ed agisce sempre da ingegnere. Piuttosto che cedere ad Oracle, trovoveranno il giusto workaround come un ingegnere farebbe e non cambierebbe mai la sua posizione.

  • software

    faccio anche io i complimenti, bell'articolo 🙂

    • EnricoDroid

      grazie anche a te per i complimenti:)

Forum Android
Diventa un blogger, scrivi un articolo