Nel 2004, Eric S. Raymond scrisse una lettera aperta al CEO di Sun Microsystems, Scott McNealy, invitandolo ad aprire Java rendendone il codice sorgente disponibile alla comunità opensource.
Da parte sua, invece, Richard Stallman divenne uno dei più strenui oppositori di Java invitando gli utenti a non installare un prodotto a sorgente chiuso qual era Java.
A distanza di due anni, Sun tacitò le polemiche rilasciando OpenJDK, piattaforma di sviluppo Java “a sorgente aperto”. Sun rese disponibili, sotto licenza “GNU General Public License v2” (GPLv2) Java Standard Edition (Java SE) per i sistemi desktop, Java Mobile Edition (Java ME) – destinata ai dispositivi mobili – e Glassfish, un’implementazione di Java Enterprise Edition (Java EE).
Oggi OpenJDK è incluso nelle quattro principali distribuzioni Linux che attualmente dominano la scena: Ubuntu 8.10, Fedora 10, OpenSUSE 11 e Debian (nella versione “Lenny” non ancora distribuita ufficialmente). Il pacchetto di sviluppo è disponibile, inoltre, in Red Hat Enterprise Linux (RHEL5) così come in CentOS 5.
Sun sbandiera anche il successo di Glassfish con più di 8.000.000 di download negli ultimi dodici mesi.
Sebbene il fidanzamento con Linux prosegua, la versione “open” di Java soffre ancora di qualche problema. Ad esempio, non è ancora disponibile, ad oggi, una versione di Java “stand alone” oppure un insieme di librerie e di API certificate al 100% per operare su piattaforma Linux.
Le cose potrebbero cambiare, tuttavia, nei prossimi mesi. La Linux Foundation ha infatti annunciato che ben presto la “Linux Standard Base 4.0” (LSB), studiata per migliorare l’interoperabilità tra applicazioni Linux e le varie distribuzioni disponibili, conterrà, tra le sue specifiche, anche il supporto di Java SE 6.0.
Se la LSB 4.0 dovrebbe essere certamente abbracciata da Mandriva Corporate 5.0, RHEL 5.0, SLES Enterprise 10 ed Ubuntu LTS 8.04, non sarà adottata da tutte le distribuzioni.