Com as mudanças recentes na distribuição e suporte da JDK da Oracle, há uma incerteza sobre os direitos de utilizar a JDK Oracle x builds do OpenJDK da Oracle x builds do OpenJDK de outros provedores. Também há considerações sobre atualizações gratuitas, e (novos e existentes) modelos de suporte disponíveis por vários vendedores para serem considerados. Esse documento tem uma versão curta e uma versão muito mais longa com todos os detalhes.
- Post original dos Java Champions
- Documento traduzido pelo SouJava
- Documento em espanhol traduzido por @aalmiray
(Tradução por @leomrlima, @otaviojava, @elderjava, @brjavaman da versão 1.0.0 às HIJ)
Versão Curta
Você ainda consegue ter a JDK da Oracle, builds do OpenJDK da Oracle e builds do OpenJDK de outros provedores de graça (e de forma livre – veja o quadro e o resto desta seção para as nuances disso). Isso é possível porque múltiplos provedores oferecem implementações da especificação do Java SE.
Java SE / OpenJDK / Build do OpenJDK da Oracle / JDK da Oracle A comunidade do OpenJDK cria e mantém a Implementação de Referência (Reference Implementation (RI)) código-aberto (GPLv2+CE) da Especificação do Java SE como governado pelo Java Community Process (JCP) e que é definido como uma Java Specification Request (JSR) guarda-chuva para cada release futuro. Existem implementações do Java SE de diversos provedores (como Azul, Eclipse, IBM, Red Hat, Oracle, SAP, e outros), o mais comum sendo o JDK da Oracle (Oracle JDK). Oracle JDK 8 está no processo de “Fim de Atualizações Públicas” o que significa que não haverá mais atualizações gratuitas para fins comerciais ao final de Janeiro de 2019. Porém, desde o Java SE 9, a Oracle está disponibilizando também o builds OpenJDK que são livres para uso comercial, e há também builds gratuitos do OpenJDK de outras empresas como AdoptOpenJDK, Azul, IBM, Red Hat, Linux distros e outros. Essas empresas provaram que suas implementações atendem a todos os requisitos da especificação Java SE ao passarem pelos testes de Technology Compatibility Kit (TCK). |
Para o futuro, há várias opções para conseguir um JDK. Vamos focar no Java SE 8 (que será válido até o fim das atualizações públicas, assim como as versões anteriores), e o Java SE 11 que será a primeira versão Long Term Support (LTS) a ser lançada sob a nova cadência de versões.
Continuando com o Java SE 8
Algumas pessoas querem continuar utilizando o Java SE 8 por vários motivos.
- Oracle proverá atualizações públicas do Oracle JDK 8 até, pelo menos, Dezembro de 2020, para uso em computador pessoal e Janeiro de 2019 para uso comercial. Depois disso, os usuários podem ou ir para o plano pago ou utilizar o binário de Java SE 8 / OpenJDK 8 de outra empresa.
- Você pode também continuar utilizando o Oracle JDK 8 por tempo indefinidosem updates.
- Caso você não esteja utilizando o Oracle JDK 8, então o seu atual provedor de Java SE 8 / OpenJDK 8 proverá atualizações de maneira grátis e/ou planos de suportes pagos para você escolher.
EU QUERO UMA VERSÃO GRÁTIS ($) E LIVRE (PARA USO) DO JAVA SE 8, QUAL EU ESCOLHO? Se você quer atualizações do Java SE 8 depois de Janeiro/2019, você pode utilizar uma distribuição binária do OpenJDK de algum provedor do OpenJDK, por exemplo com distribuições Linux, AdoptOpenJDK, Azul, IBM, Oracle, Red Hat, e outros. |
Usando Java SE 11 (LTS)
Você tem várias opções. Leia com atenção, em especial dado que o Oracle JDK está mudando a partir do Java SE 11.
- A partir do Java SE 11, a Oracle passa a fornecer seu próprio JDK (baseado no OpenJDK) através de:
- Binários OpenJDK da Oracle – sob licença Open Source existente GPLv2+CE, e
- Oracle JDK – Sob uma licença comercial paga (mas gratuita para desenvolvimento), para aqueles que não desejem utilizar a GPLv2+CE, ou que estejam utilizando o Oracle JDK com um produto ou serviço da Oracle.
NOTA: A Oracle planeja fornecer atualizações para seus Binários do OpenJDK por duas atualizações trimestrais e posteriormente migrar os usuários para a próxima versão, a cada seis meses (incluindo a versão LTS)
- Você também pode utilizar as distribuições binárias do Java SE / OpenJDK de diversos outros fornecedores, incluindo distribuições Linux, AdoptOpenJDK, Azul, IBM, Oracle, Red Hat, e outros. . Isso inclui atualizações por períodos variados, dependendo se é uma versão LTS ou não.
EU QUERO O JAVA SE 11+ GRÁTIS ($) E LIVRE (PARA USO), O QUE ESCOLHO?
|
Suporte Pago
A Oracle planeja fornecer suporte pago para o Oracle JDK 8 até pelo menos 2025 e para o Oracle JDK 11 até pelo menos 2026 (detalhes). Existem uma variedade de opções de suporte para binários Java SE / OpenJDK 8 e 11 de fornecedores como Azul, IBM, Red Hat, e outros.
A Versão Longa
A versão longa e detalhada do documento será postada uma vez que estiver completamente traduzida.
Tem a openJ9 também 😀 https://www.eclipse.org/openj9/
Verdade! E tantos outros. 😉
Quanto a JRE 11? A oracle não irá seguir mais o modelo de distribuição que aconteceu até o Java SE 10, em que o usuário instala a virtual machine em seu computador? Pois até o momento só é possível fazer download do JDK 11 completo. Essa seria a alternativa? Usar o JDK completo no cliente ou o JLink para criar uma imagem com o módulos necessários para a aplicação rodar?
Applets, Web Start e Java FX (casos onde normalmente precisam de JRE) só estão disponíveis até o Java 8, e ele continua gratuito. Dá uma olhada aqui: https://www.oracle.com/technetwork/pt/articles/java/oracle-java-se-rel-faq-5292709-ptb.html
A oracle não irá seguir o modelo de distribuição que adotou até o java SE 10 em que o cliente baixa a JRE e instala a virtual machine no seu computador? A JDK 11 já está disponível. A solução seria instalar o JDK completo no cliente ou então o JLink para criar uma imagem da virtual machine com o módulos necessários para a aplicação rodar?
Applets, Web Start e Java FX (casos onde normalmente precisam de JRE) só estão disponíveis até o Java 8, e ele continua gratuito. Dá uma olhada aqui: https://www.oracle.com/technetwork/pt/articles/java/oracle-java-se-rel-faq-5292709-ptb.html