2006年11月13日,Sun Microsystems正式開源Java。事實上Java的源代碼在發布第一天就可以訪問,這一策略幫助Java在早年推動了平臺的建立。Java之父James Gosling稱,他們公開源代碼的意圖是讓社區幫助進行安全分析、bug報告、增強性能、了解偏僻個案等。Java最早使用的許可證允許內部使用源代碼但不能分發。
IBM當時呼吁將Java捐給Apache 軟件基金會,使用Apache許可證分發,但Sun最終決定在GPL許可證下開源Java。GPL許可證要求衍生版本需要公開分發。Gosling稱這能讓Java更好的適應開源社區。Sun在2010年被甲骨文收購,Java也落到了甲骨文手中,由甲骨文主導Java的演化。
然而Java開源十年之后仍然引起爭議,因為Java的開源被認為是打了折扣。批評者稱,Sun只開源了JDK,Java SE 和 Java EE TCKs仍然是閉源的。