#Java che succede? Rischia l’OpenSource?


java OpenJDKE’ da un po’ di tempo che leggo, semza mai menzionarli, articoli relativi a problemi di sicurezza con Java. Ma dopo l’ennesimo articolo su itNews ho deciso di fare il punto e condividerlo. L’articolo titolato Oracle calls time to sort out Java security, riporta una call tra Milton Smith, il Manager di ORACLE responsabile della sicurezza di Java, e i rappresentanti dello Java User Group. Secondo Smith “il piano per la sicurezza di Java è realmente semplice: numero uno risolvere i bug di Java, numero due comunicare ampiamente gli sforzi effettuati“. In modo impertinente l’autore, Juha Saarinen, continua dicendo “Un piano di comunicazione verrà sviluppato per evitare la passata mancanza di apertura, ma Smith non ha detto nulla di specifico su come verrà fatto o su quali miglioramenti di sicurezza sono in piano“. L’articolo termina con la frase lapidaria “Le organizzazioni di Sicurezza attualmente raccomandano gli utenti di disabilitere Java nei loro browser, o di rimuovere completamente tale Sw se non è proprio necessario“. Se non è proprio necessario? Ma avete provato a navigare con Java disabilitato? Quali sono le aziende che possono permettersi di disinstallare Java dai desktop dei loro utenti? Eppure…

Intanto partiamo col dire che Java è stata una dote portata da SUN nell’Aprile del 2009 quando è stata acquisita da ORACLE. Nella comunità Open Source ci furono commenti perplessi anche in relazione al futuro di MySQL,  ma nei fatti ORACLE portava in dote una capacità di investimenti notevole, potenzialmente in grado di dare un’accelerazione alle evoluzioni di Java. La roadmap dichiarata era interessante e scandiva i tempi con il ritmo tipico di un produttore di Sw.

Putroppo ben presto le cose all’interno della galassia Java, così riconfigurata, mutarono.  L’Apache Software Foundation, a Novembre 2010, lasciò il Java Community Process (JCP) Executive Committee con un comunicato critico  dove  affermava che ORACLE aveva fornito loro “una licenza TCK che impone ulteriori condizioni nell’utilizzo che non sono compatibili con le licenze Open Source o Free Software License“. Possiamo leggere come una tentata conciliazione  da parte di ORACLE il successivo regalo di OpenOffice.org ad Apache nel Giugno del 2011? Dagli antefatti non direi.

Apache nel 2005 avvia il progetto Harmony per realizzare un Java Open Source; tra i contributori vi sono anche aziende del calibro di Intel ed IBM. Perchè Java non è OpenSource? Lascio perdere questo tema ed invito i più curiosi alla lettura di un articolo del 2006 dal titolo Why Open Source Java? Sempre nel 2006 la Sun Microsystems avvia il progetto OpenJDK  anche questo per realizzare un Java Open Source che, dopo l’acquisizione, confluisce in ORACLE.

A questo punto la storia si ingarbuglia ed è degna di una telenovela dove OpenSource, FreeSoftware e varie aziende, contemporaneamente si corteggiano e si ostacolano. Google nel 2008 fornisce Android per i primi dispositivi mobile commercializzati. Ma su Android vengono usate delle classi di Harmony  e nell’Agosto 2010 ORACLE cita in giudizio Google chiedendo di vedere la documentazione delle comunicazioni intercorse tra Google ed Apache. Ad Ottobre 2010 IBM inizia a collaborare in OpenJDK lasciando di fatto sola Apache nel proggetto Harmony. A Novembre dello stesso anno anche Apple si unisce a OpenJDK. A quel punto Apache isolata, sospende il progetto Harmony con soddisfazione da parte di chi auspicava un unico Java OpenSource.

In sintesi la storia di Java, un linguaggio nato con il principio WORA “write once, run anywhere” per essere compatibile su tutte le piattaforme, è sempre stata un difficile obiettivo irto di dispute tra aziende fin dal 1997 con quella tra SUN e Microsoft. Comunque un qualcosa in mano (o tra le mani) ad aziende con i rispettivi interessi economici.

Ora l’attenzione alle date dei piani di ORACLE sugli sviluppi di Java, forse ha preso il sopravvento rispetto ad altri aspetti come i test e la sicurezza. Sul web si trovano sempre più spesso, avvisi e scontenti sui nuovi rilasci: a luglio del 2011, dopo cinque anni è uscita, sotto il logo ORACLE la nuova versione di Java SE 7, ma già il giorno dopo uscivano avvisi che la JVM poteva andare in crash o introdurre dei bug nelle applicazioni che la utilizzavano. Ad agosto 2012 Reuters riportava che era stato rilasciato il fix per eliminare delle falle di sicurezza. Non è cambiato molto però se, a gennaio del 2013 dopo il rilascio di altri fix di sicurezza, restano ancora molte vulnerabilità che permettono di far girare sui sistemi applicazioni “arbitrariamente”. A marzo già tre aggiornamenti hanno cercato di eliminare le vulnerabilità esistenti, ma in un’articolo di tre giorni fa, si parla di una vulnerabilità ancora presente e che verrà risolta con il rilascio del 16 Aprile 2013.  Sembra quindi che il piano di ORACLE di terminare il supporto di Java SE 6 da Febbraio, slitti proprio per questi problemi di sicurezza.

Ormai è diventata abitudine vedere il messaggio “Java Update available” e anche questo sembra diventato un problema perché ORACLE spesso cerca di “infilare” con gli udpate del software non desiderato. Java sembra trasformato da linguaggio universale ad incubo comune!