1Oak

Nel giugno 1991, James Gosling, Mike Sheridan e Patrick Naughton avviarono il progetto del linguaggio Java. Java era originariamente progettato per la televisione interattiva, ma all'epoca era troppo avanzato per l'industria della televisione via cavo digitale. Il linguaggio fu inizialmente chiamato Oak, dal nome di una quercia che si trovava fuori dall'ufficio di Gosling. Successivamente il progetto prese il nome di Green e fu infine rinominato Java, dal caffè Java, il caffè proveniente dall'Indonesia.

2Sviluppo originale

Il 23 maggio 1995, Java fu originariamente sviluppato da James Gosling presso Sun Microsystems e rilasciato come componente principale della piattaforma Java di Sun Microsystems.

3Java 1.0

Il 23 gennaio 1996, Sun Microsystems rilasciò la prima implementazione pubblica come Java 1.0, che prometteva la funzionalità Write Once, Run Anywhere (WORA), fornendo runtime a costo zero sulle piattaforme più diffuse.

4JDK 1.1

Il 19 febbraio 1997, Sun Microsystems rilasciò il JDK 1.1.

5Standard de facto

Nel 1997, Sun Microsystems si rivolse all'ente di standardizzazione ISO/IEC JTC 1 e successivamente a Ecma International per formalizzare Java, ma si ritirò presto dal processo. Java rimane uno standard de facto, controllato attraverso il Java Community Process.

6Citazione in giudizio

Nel 1997, Sun fece causa a Microsoft, sostenendo che l'implementazione di Microsoft non supportasse RMI (Java Remote Method Invocation) o JNI (Java Native Interface) e avesse aggiunto funzionalità specifiche della piattaforma, poiché la licenza del marchio Sun per l'utilizzo del brand Java insiste sul fatto che tutte le implementazioni debbano essere compatibili.

7J2SE 1.2

L'8 dicembre 1998, Sun Microsystems rilasciò J2SE 1.2.

8J2SE 1.3

L'8 maggio 2000, Sun Microsystems rilasciò J2SE 1.3.

9Vittoria nella causa

Nel 2001, dopo aver fatto causa a Microsoft nel 1997, Sun ottenne un risarcimento di 20 milioni di dollari, oltre a un'ordinanza del tribunale che imponeva il rispetto dei termini della licenza di Sun. Di conseguenza, Microsoft non distribuisce più Java con Windows.

10J2SE 1.4

Il 6 febbraio 2002, Sun Microsystems rilasciò J2SE 1.4.

11Generics

Nel 2004, i generics furono aggiunti al linguaggio Java come parte di J2SE 5.0.

12J2SE 5.0

Il 30 settembre 2004, Sun Microsystems rilasciò J2SE 5.0.

13Versioni rinominate

Nel 2006, per scopi di marketing, Sun rinominò le nuove versioni J2 in Java EE (Enterprise Edition includeva tecnologie e API per applicazioni aziendali solitamente eseguite in ambienti server), Java ME (Micro Edition presentava API ottimizzate per applicazioni mobili) e la versione desktop, J2SE, fu rinominata Java SE (Java Standard Edition).

14Java Virtual Machine

Il 13 novembre 2006, Sun Microsystems rilasciò gran parte della sua Java virtual machine (JVM) come software libero e open-source (FOSS), secondo i termini della GNU General Public License (GPL).

15Java SE 6

L'11 dicembre 2006, Sun Microsystems rilasciò Java SE 6.

16JVM completata

L'8 maggio 2007, Sun completò il processo della Java virtual machine, rendendo tutto il suo codice principale disponibile secondo i termini di distribuzione del software libero/open-source, a parte una piccola porzione di codice di cui Sun non deteneva il copyright.

17Implementazioni alternative

A partire da maggio 2007, in conformità con le specifiche del Java Community Process, Sun aveva concesso in licenza la maggior parte delle sue tecnologie Java sotto la GNU General Public License. Nel frattempo, altri hanno sviluppato implementazioni alternative di queste tecnologie Sun, come il GNU Compiler for Java (compilatore di bytecode), GNU Classpath (librerie standard) e IcedTea-Web (plugin del browser per applet).

18Oracle

Il 27 gennaio 2010, Oracle ha acquisito Sun Microsystems, diventando proprietaria dell'implementazione ufficiale della piattaforma Java SE.

19Dimissioni di James Gosling

Il 2 aprile 2010, James Gosling, il creatore di Java, si è dimesso da Oracle all'età di 55 anni.

20Java SE 7

Il 28 luglio 2011, Oracle ha rilasciato Java SE 7.

21Controversia legale

L'uso di tecnologie correlate a Java in Android ha portato a una controversia legale tra Oracle e Google. Il 7 maggio 2012, una giuria di San Francisco ha stabilito che, se le API potessero essere protette da copyright, allora Google avrebbe violato i diritti d'autore di Oracle con l'uso di Java nei dispositivi Android.

22Java SE 8

Il 18 marzo 2014, Oracle ha rilasciato Java SE 8.

23Corte d'Appello

Il giudice distrettuale William Haskell Alsup ha stabilito il 31 maggio 2012 che le API non possono essere protette da copyright, ma questa decisione è stata ribaltata dalla United States Court of Appeals for the Federal Circuit nel maggio 2014.

24Plugin

Nel gennaio 2016, Oracle ha annunciato che gli ambienti di runtime Java, basati su JDK 9, avrebbero interrotto il plugin del browser, poiché, verso la fine del 2015, i fornitori di browser stavano lavorando per ridurre il supporto ai plugin nei loro prodotti.

25A favore di Google

Il 26 maggio 2016, il tribunale distrettuale ha deciso a favore di Google, stabilendo che la violazione del copyright dell'API Java in Android costituisce fair use.

26Java SE 9

Il 21 settembre 2017, Oracle ha rilasciato Java SE 9.

27Java Applet

Le Java applet erano programmi incorporati in altre applicazioni, solitamente in una pagina Web visualizzata in un browser web. L'API Java applet è ora deprecata da Java 8 nel 2017.

28Ribaltata

Nel marzo 2018, l'ultima decisione del tribunale, riguardante la controversia tra Google e Oracle, è stata ribaltata dalla Corte d'Appello, che ha rinviato il caso per la determinazione dei danni al tribunale federale di San Francisco.

29Java SE 10

Il 20 marzo 2018, Oracle ha rilasciato Java SE 10.

30Java 11

Il 25 settembre 2018 è stato rilasciato Java 11, una versione attualmente supportata con supporto a lungo termine (LTS).

31Ultimo aggiornamento pubblico gratuito

Nel gennaio 2019, Oracle ha rilasciato per la versione legacy Java 8 LTS l'ultimo aggiornamento pubblico gratuito per uso commerciale, mentre continuerà a supportare Java 8 con aggiornamenti pubblici per uso personale almeno fino a dicembre 2020.

32Il ricorso

Nel gennaio 2019, Google ha presentato una petizione per un writ of certiorari alla Corte Suprema degli Stati Uniti per contestare le due sentenze emesse dalla Corte d'Appello a favore di Oracle.

33Java SE 12

Il 19 marzo 2019, Sun Microsystems ha rilasciato Java SE 12.

34Java SE 13

Il 17 settembre 2019, Sun Microsystems ha rilasciato Java SE 13.

35Java 14

Il 17 marzo 2020 è stato rilasciato Java 14, l'ultima versione di Java.