Implementações Java gratuitas - Free Java implementations

Implementações Java gratuitas são projetos de software que implementam as tecnologias Java da Oracle e são distribuídas sob licenças de software livre , tornando-as software livre . A Sun lançou a maior parte de seu código-fonte Java como software livre em maio de 2007, então agora quase pode ser considerado uma implementação Java livre. As implementações Java incluem compiladores, tempos de execução, bibliotecas de classes, etc. Os defensores do software livre e de código aberto referem-se ao software de máquina virtual Java gratuito ou de código aberto como tempos de execução livres ou tempos de execução Java livres .

Alguns defensores desse movimento preferem não usar o termo "Java", pois tem questões de marcas associadas a ele. Conseqüentemente, embora seja um "movimento Java livre", o termo "tempos de execução Java livres" é evitado por eles.

Meados da década de 1990 a 2006

O primeiro projeto gratuito a oferecer partes substanciais da funcionalidade da plataforma Java foi provavelmente o guavac, que começou algum tempo antes de novembro de 1995.

Desde então, o movimento do software livre desenvolveu outros compiladores Java, mais notavelmente o GNU Compiler for Java . Outros incluem o Eclipse Java Compiler (ECJ), que é mantido pela Eclipse Foundation , e Jikes , que não é mais mantido ativamente. Desde o lançamento do GNU Compiler Collection 4.3, GCJ (seu compilador Java) está usando o front-end do analisador ECJ para analisar Java.

Exemplos de ambientes de tempo de execução gratuitos incluem Kaffe , SableVM e gcj .

GNU Classpath é a principal biblioteca de classes de software livre para Java. A maioria dos tempos de execução gratuitos usa GNU Classpath como sua biblioteca de classes.

Em maio de 2005, o Apache Harmony foi anunciado, no entanto, o projeto escolheu a Licença Apache , que na época era incompatível com todas as implementações Java livres existentes.

Outro evento em maio de 2005 foi o anúncio de que o OpenOffice.org 2.0 dependeria de recursos Java que as implementações de software livre não poderiam fornecer. Após a controvérsia, o OpenOffice.org adotou uma diretriz exigindo que ele trabalhe com implementações Java livres.

Os aplicativos notáveis ​​que já funcionavam com implementações de Java de software livre antes de novembro de 2006 incluem o OpenOffice.org e o Vuze , ambos os quais funcionam quando compilados com o GCJ.

Anúncio da Sun de novembro de 2006

Em 13 de novembro de 2006, a Sun lançou seu compilador, javac , sob a GNU General Public License .

Em setembro de 2007, além do javac, a Sun lançou o código do HotSpot (a máquina virtual ) e quase toda a biblioteca de classes Java como software livre.

Seguindo sua promessa de lançar um JDK totalmente compilável baseado quase totalmente em código-fonte livre e aberto no primeiro semestre de 2007, a Sun lançou o código-fonte completo da biblioteca de classes sob a GPL em 8 de maio de 2007, exceto algumas partes limitadas que foram licenciado pela Sun de terceiros que não queriam que seu código fosse lançado sob uma licença de software livre. A Sun declarou que seu objetivo é substituir as partes que permanecem proprietárias e de código fechado por implementações alternativas e tornar a biblioteca de classes totalmente gratuita e de código aberto. Como há algum código sobrecarregado no JDK, a Sun continuará a usar esse código em lançamentos comerciais até que seja substituído por alternativas totalmente funcionais de código-fonte aberto.

Após o lançamento do código em maio de 2007

Em maio de 2008, a única parte da biblioteca de classes que permanece proprietária (4% em maio de 2007 para OpenJDK 7 e menos de 1% em maio de 2008 no OpenJDK 6) é a implementação SNMP .

Desde o primeiro lançamento de maio de 2007, a Sun Microsystems , com a ajuda da comunidade, lançou como software livre (ou substituiu por alternativas de software livre) quase todo o código sobrecarregado:

  • Todo o código do mecanismo de áudio, incluindo o sintetizador de software , foi lançado como código-fonte aberto. O sintetizador de software de código fechado foi substituído por um novo sintetizador desenvolvido especificamente para OpenJDK chamado Gervill ,
  • Todas as classes de criptografia usadas na biblioteca de classes foram lançadas como software livre,
  • O FreeType substituiu o código que dimensiona e rasteriza as fontes .
  • LittleCMS substituiu o sistema de gerenciamento de cores nativo . Há uma camada conectável no JDK, de modo que a versão comercial pode usar o sistema de gerenciamento de cores antigo e o OpenJDK pode usar o LittleCMS.
  • O renderizador Pisces de código aberto usado no projeto phoneME substituiu o código rasterizador de gráficos anti-aliasing . Este código é totalmente funcional, mas ainda precisa de algumas melhorias de desempenho,
  • O plug-in JavaScript foi de código aberto ( o próprio mecanismo de JavaScript foi de código aberto desde o início).

Por causa desses componentes anteriormente sobrecarregados, não era possível construir o OpenJDK apenas com componentes de software livre. Para poder fazer isso antes que toda a biblioteca de classes seja liberada, e para poder agrupar o OpenJDK no Fedora Core e em outras distribuições Linux gratuitas , a Red Hat iniciou um projeto chamado IcedTea . É basicamente um híbrido OpenJDK / GNU Classpath que pode ser usado para inicializar o OpenJDK usando apenas software livre.

Em março de 2008, a distribuição Fedora 9 foi lançada com OpenJDK 6 em vez da implementação IcedTea do OpenJDK 7. Alguns dos motivos declarados para essa mudança são:

  • A Sun substituiu a maioria dos obstáculos para os quais o IcedTea estava fornecendo substituições (menos de 1% do código sobrecarregado permanece na biblioteca de classes e esse código não é necessário para executar o OpenJDK).
  • O OpenJDK 6 era um branch estável, enquanto o OpenJDK 7 era instável e não se esperava uma versão estável até 2009.
  • A Sun licenciou a marca comercial OpenJDK para uso no Fedora.

Em junho de 2008, foi anunciado que o IcedTea 6 (como a versão empacotada do OpenJDK no Fedora 9 ) passou nos testes do Technology Compatibility Kit e pode reivindicar ser uma implementação Java 6 totalmente compatível.

Em setembro de 2013, a Azul Systems lançou o Zulu, uma compilação gratuita e de código aberto do OpenJDK para Windows Server e Microsoft Azure Cloud. Versões posteriores adicionaram suporte para Mac OS X , várias versões do Linux e da plataforma Java, Standard Edition versão 8. O Zulu é certificado como compatível com Java SE 8, 7 e 6 usando o OpenJDK Community Technology Compatibility Kit .

A Amazon lançou o Amazon Corretto, uma distribuição gratuita, multiplataforma e pronta para produção do Open Java Development Kit. É lançado sob GPL v2 com Classpath Exception . Versões de suporte de longo prazo do Java 8 e Java 11 estão disponíveis. Foi lançado publicamente pela primeira vez em 31 de janeiro de 2019.

Veja também

Referências

links externos