Alguém poderia explicar melhor a situação atual do Java? Me refiro à questão da licença e as implementações livres. Quem mantém a especificação e como isto é organizado? Acabei me perdendo na sopa de letrinhas e já não sei mais o que cada pecinha faz na atual situação da plataforma (OpenJDK, IcedTea, GNU Classpath, Oracle JDK, GCJ, etc.)
Ae fuadksd,
A resposta para sua pergunta é bastante ampla, mas vou tentar pelo menos dar um norte.
A JVM (Java Virtual Machine) é (e sempre foi) baseada em uma especificação aberta, ou seja, qualquer um pode implementar sua própria JVM contanto que siga as regras da especificação e seja reconhecido pela Oracle.
Por exemplo, a Oracle cria uma nova especificação Java 10, junto eles disponibilizam já uma JDK/JRE padrão, deles, que seria a Oracle JDK (ou JRE). Mas aí várias outras organizações podem criar suas próprias JVMs baseado nas especificações (OpenJDK, IcedTea, etc.).
Haverá diferenças entre as implementações no que envolve detalhes não regulamentados pela especificação, por exemplo, no que envolve a estratégia de funcionamento do Garbage Collector, etc.
Mas se você está meio “perdido na sopa de letrinhas” nem esquenta, baixa a JDK da Oracle e toca ficha nos teus sistemas.
Um livro recém lançado (http://www.arquiteturajava.com.br/) é, na minha opinião, uma ótima referência para compreender isso melhor. Um único capítulo trata deste assunto e dá uma visão bem legal. E todos os outros capítulos são muito úteis também para desenvolvimento Java em geral.
Abraço!
certo. eu queria saber, pois estava pensando em começar a usar o OpenJDK, pela facilidade de manter e instalar no linux, e fiquei interessado, pois há uma espécie de esforço da comunidade de popularizar o openjdk. porém não entendi muito bem o que o IcedTea e GNU Classpath fazem na história. Também fiquei um pouco confuso porque li em alguns lugares que o OpenJDK é a implementação de referência do Java, o que tornaria ele no mínimo confiável.
Tem essa palestra no Youtube falando sobre o OpenJDK que vai fazer você entender melhor:
[i]
Software Livre - Palestra: A tecnologia Java, livre!
Venha saber como participar do mais importante projeto livre relaciaonado à tecnologia Java: a própria Máquina Virtual Java! O projeto OpenJDK tornou a JVM realmente livre, e essa palestra irá mostrar como se beneficiar disso nos seus projetos Java. Palestrantes: Bruno Souza e Fabiane Nardon.
[/i]
[youtube]http://www.youtube.com/watch?v=1plw_BKBGxw[/youtube]