IcedTea

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
IcedTea7
Awt-icedTea.png
Desenvolvedor Red Hat / GNU Classpath
Versão estável 2.3.8 (11 de março de 2013; há 4 anos)
Sistema operacional Multiplataforma
Gênero(s) Máquina virtual Java e Biblioteca
Licença GPL+linking exception
Página oficial http://icedtea.classpath.org
IcedTea-Web
Desenvolvedor Red Hat / GNU Classpath
Versão estável 1.3.1 (7 de novembro de 2012; há 5 anos)
Sistema operacional Multiplataforma
Gênero(s) Máquina virtual Java e Biblioteca
Licença GPL+linking exception
Página oficial http://icedtea.classpath.org/wiki/IcedTea-Web
IcedTea6
Awt-icedTea.png
Desenvolvedor Red Hat / GNU Classpath
Versão estável 1.12.4 (4 de março de 2013; há 4 anos)
Sistema operacional Multiplataforma
Gênero(s) Máquina virtual Java e Biblioteca
Licença GPL+linking exception
Página oficial http://icedtea.classpath.org

IcedTea é um software desenvolvimento e projecto de integração lançado pela Red Hat, em Junho de 2007.[1] O objetivo é fazer o OpenJDK software que Sun Microsystems lançou como software livre em 2007, utilizável sem exigir qualquer outro software que não é software livre. Para Red Hat, isto tornaria possível adicionar OpenJDK para o Fedora Linux, bem como outras distribuições. Esta meta foi cumprida, e uma versão do IcedTea baseada em OpenJDK foi empacotada com o Fedora 8 em novembro de 2007. Abril 2008 viu o primeiro lançamento [2] de uma nova variante, IcedTea6 que se baseia no build do OpenJDK6 da Sun, um fork do OpenJDK, com o objectivo de ser compatível com o actual JDK6. Este foi liberada no Ubuntu e Fedora, em Maio de 2008. O pacote IcedTea nessas distribuições, foi renomeado para OpenJDK com o anúncio da marca OpenJDK. Em Junho de 2008, o Fedora fez seu build passaram nos rigorosos testes TCK da Sun [3] em x86 e x86-64.

História[editar | editar código-fonte]

Este projeto foi criado na sequência da Sun liberar seu HotSpot Virtual Machine e compilador Java, em Novembro de 2006, e mais do código fonte da classe de biblioteca em Maio de 2007. No entanto, parte da biblioteca da classe, como a renderização de fontes, gerenciamento de cores e suporte a som, só foram fornecidas como plugins binários proprietários. Isto porque o código fonte para estes plugins pertence a terceiros, em vez da Sun Microsystems.[4][5] As partes foram liberadas publicadas sob os termos da GNU General Public License, uma licença de software livre.

Devido a estes componentes em falta, não foi possível construir OpenJDK apenas com componentes em software livre. Sun destinadas a negociar com os titulares de licença para permitir esse código para ser liberado sob uma licença livre, ou na falta deste, para substituir estes elementos proprietários com implementações alternativas. Com os plugins substituído, a biblioteca de classes seria então totalmente livre. A Sun tem continuado a usar o código proprietário em seu certificado de versões binárias.[6] .

Na sequência do anúncio, o IcedTea projeto foi iniciado e que foi formalmente anunciada em 7 de junho de 2007,[7] com build um repositório fornecidas pelo GNU Classpath equipe. A equipe não podia chamar seu software produto "OpenJDK" porque esta é uma marca comercial de propriedade da Sun Microsystems. Eles decidiram em vez de usar o nome temporário "IcedTea".[8]

Em 5 de novembro de 2007, Red Hat e Sun Contributor Agreement ambos assinaram acordo com a Comunidade OpenJDK, a Licença TCK. O comunicado de imprensa sugeriram que isso iria beneficiar o projeto IcedTea.[9] Simon Phipps sugeriu a possibilidade de estar hospedando IcedTea no openjdk.java.net,[10] e Mark Reinhold notar que a assinatura da cessão de direitos autorais poderia permitir que a Red Hat contribuir com os componentes do IcedTea à Sun para inclusão no JDK mainstream.[11][12]

Desde então, uma série de patches para IcedTea6 fizeram seu caminho para OpenJDK6 por exemplo.[13][14]

Em junho de 2008, foi anunciado que IcedTea6 (como a versão do pacote OpenJDK no Fedora 9) passou nos testes Technology Compatibility Kit e pode afirmar-se uma implementação totalmente compatível Java 6.[15]

Os objectivos[editar | editar código-fonte]

Especificamente, o projeto IcedTea começou com dois objectivos. Um deles é que seja possível para o GNU Compiler for Java compilar o código OpenJDK. O problema era que o único programa que pode compilar o OpenJDK software proprietário existente era o Sun JDK. Distribuições livres como o Fedora não pode depender de ferramentas proprietárias para construir pacotes, de modo que o projeto IcedTea teve de tornar possível compilar o código utilizando Software Livre. Quando isso foi feito, a versão resultante IcedTea do OpenJDK poderiam ser utilizados para compilar si mesmo, escapando assim, a necessidade de uso de software não-livre para as futuras compilações.[7][16]

A segunda tarefa foi de fornecer equivalentes livres de plugins binários que existiam no OpenJDK, porque a Sun não foi capaz de liberar todo o código-fonte. A partir de Março de 2008, isso já não é necessário para IcedTea6, como o OpenJDK6 build podem ser construídos sem plugins binários. Com o lançamento do b10,[17] que substitui o suporte proprietário a som, a partir do projecto Gervill, uma implementação plena do Java 1.6 que podem ser construído sem plugins binários. O único remanescente é plugin binário para suporte SNMP, que é um opcional provendo arquitectura JMX e não faz parte das especificações.

Os benefícios[editar | editar código-fonte]

O IcedTea fornece um plugin Java Web browser em software livre. Foi o primeiro a trabalhar em navegadores de 64 bits em Linux 64 bits, uma característica proprietária JRE da Sun conduzido mais tarde.[18] Isto o torna adequado para habilitar o suporte para Java applets em Firefox 64 bits, entre outros. Além disso, o Java Web Start suporte por meio do NETX.[19] Sun fez promessas sobre lançando seu plugin e implementação de Web Start, como parte do OpenJDK, mas até agora não cumpriu,[20] apesar da contínua pressão da comunidade.[21] Desenvolvimento do plugin IcedTea continua, com a última versão próxima geração do plugin com suporte ao Google Chromium.[22] O desenvolvimento atual tem lugar no IcedTea Web projeto separado.[23]

IcedTea fornece também build de sistema mais familiar, proporcionando um wrapper em torno do OpenJDK makefiles utilizando o GNU Autotools. Isto elimina a necessidade de lembrar um grande número de variáveis do ambiente para configurar e construir (o actual IcedTea constrói conjunto cerca de 40 dessas variáveis para a construção subjacente OpenJDK). Também tem desde cedo um lugar para trabalhar em características que acabarão por aparecer nas principais builds do OpenJDK, como Gervill [24] e para o trabalho nos portes para outras plataformas.

Evolução e avaliação[editar | editar código-fonte]

Em junho de 2007, Fedora está trabalhando no IcedTea, e uma porção significativa da Mauve, o GNU Classpath teste suite, executado com êxito no mesmo..[25] Em maio de 2008, o suporte foi adicionado ao IcedTea para rodar o Sun jtreg testes de regressão.[26]

IcedTea é o padrão na JVM no Ark Linux.[27]

IcedTea está disponível no Ubuntu 7.10 (Gutsy Gibbon), a partir do "universo" repositório,[28] e IcedTea6 no 8.04 (Hardy Heron).[29]

IcedTea está disponível no Fedora 8 e IcedTea6 no Fedora 9 (como java-1.6.0-openjdk), a partir da "yum" repositório. Pacotes (ebuilds) para IcedTea6 estão disponíveis no Gentoo no repositório oficial, mas eles são marcados como instável.

Pode ser construído e executado no Debian.[30] Pacotes binários foram apresentadas em 20 de Abril.Em abril de 2008, mas foram rejeitadas devido a problemas com alguns arquivos de licenciamento.[31][32] Um novo pacote foi carregado em Junho de 2008,[33] e entrou instável em 12 de julho de 2008.

Arquitectura[editar | editar código-fonte]

OpenJDK contém aproximadamente (no lançamento, em Maio de 2007) 4% de código sobrecarregado,[8] que só foi empacotado como plugins binários. Estes eram necessários para construir e usar o JDK. OpenJDK6 foi lançada com apenas 1% de código sobrecarregado, e tem suporte a som também já foi substituído. IcedTea6 baseia-se nesta versão. IcedTea6 ainda fornece suporte web browser, Web Start suporte,como a implementação da Sun continua a ser proprietária.

IcedTea substitui o plugins binários com o equivalente ao código GNU Classpath, compila tudo com GCJ e opcionalmente bootstraps si mesmo usando o HotSpot e Java Virtual Machine e do javac compilador Java que apenas um built.[34]

Zero e Shark[editar | editar código-fonte]

Portes de HotSpot e (OpenJDK; Virtual Machine) são difíceis, porque o código contêm bastantes optimizações em Assembly para além do núcleo C++.[35] O IcedTea projecto desenvolveu um porte genérico do HotSpot interpretador zero-assembler Hotspot (ou zero),[36] com quase nenhum código assembly.[37][38] Este porte é destinado a permitir adaptar o Linux ha arquitetura de processador , tornando potencial infinito em portáteis.[39] O código de zero-montador Hotspot é utilizado para todos os não-x86 portes do HotSpot (PPC, IA64, S390 e ARM) desde versão 1.6.[40][41][42]

O IcedTea projeto já está desenvolvendo uma plataforma independente de just-in-time compilador chamado Shark para HotSpot, utilizando LLVM, para complementar Zero.[38][43] Concluindo este trabalho fará com que o Java Virtual Machine independente da arquitetura de CPU.

Ver também[editar | editar código-fonte]

Referências[editar | editar código-fonte]

  1. Fitzsimmons, Thomas (8 de junho de 2007). «Credits». Consultado em 8 de junho de 2007 
  2. Angel, Lillian (4 de abril de 2008). «IcedTea6 1.1 Released». Consultado em 12 de julho de 2008 
  3. Sharples, Rich (19 de junho de 2008). «Java is finally Free and Open». Consultado em 19 de junho de 2008 
  4. «Open JDK is here!». Sun Microsystems. 8 de maio de 2007. Consultado em 9 de maio de 2007 
  5. See also Java Class Library Licensing
  6. «Sun's OpenJDK FAQ». Now Sun is open sourcing most of the remaining components of the JDK, with the exception of a few encumbered components that we hope, with the community's help, can be re-implemented so that 100% of the OpenJDK code commons is available as free software…Sun will continue to use that code in commercial releases until it's replaced by fully-functional open-source alternatives 
  7. a b Haley, Andrew (7 de junho de 2007). «Experimental Build Repository at icedtea.classpath.org». Consultado em 9 de junho de 2007 
  8. a b Fitzsimmons, Thomas (18 de maio de 2007). «Plans for OpenJDK». Consultado em 22 de maio de 2007 
  9. «Red Hat and Sun Collaborate to Advance Open Source Java Technology». Red Hat. 5 de novembro de 2007. Consultado em 6 de novembro de 2007 
  10. Phipps, Simon (5 de novembro de 2007). «Red Hat Joins OpenJDK». Consultado em 14 de novembro de 2007 
  11. Reinhold, Mark (5 de novembro de 2007). «Welcome, Red Hat!». Consultado em 14 de novembro de 2007 
  12. Andrew, Haley (16 de maio de 2008). «Open source project: OpenJDK» 
  13. «Bug ID 6523403: OSS CMM: Need to provide lcms library with PYCC and LINEAR_RGB OS ICC profiles». Consultado em 12 de julho de 2008 
  14. «Bug ID 6604044 java crashes talking to second X screen». Consultado em 12 de julho de 2008 
  15. Sharples, Rich (19 de junho de 2008). «Java is finally Free and Open» 
  16. Wielaard, Mark (7 de junho de 2007). «Experimental Build Repository at icedtea.classpath.org». Consultado em 9 de junho de 2007 
  17. «OpenJDK6 b10 source posted». 30 de maio de 2007. Consultado em 12 de julho de 2008 
  18. «Java SE 6 Update 12 Release Notes». Consultado em 28 de Outubro de 2009 
  19. Netx is a high-quality implementation of the Java Network Launching Protocol (JNLP).
  20. Darcy, Joe (8 de junho de 2009). «OpenJDK and the new plugin». Consultado em 5 de setembro de 2009 
  21. Hughes, Andrew John (21 de agosto de 2009). «Opensource plugin&webstart - when?». Consultado em 5 de setembro de 2009 
  22. Bhole, Deepak (26 de agosto de 2009). «IcedTea Java plugin with Chromium and Firefox 3.6A1». Consultado em 5 de setembro de 2009 
  23. Bhole, Deepak (2 de fevereiro de 2011). «First release of IcedTea-Web!». Consultado em 4 de abril de 2011 
  24. a generic synthesizer for Java
  25. Kung, Francis (21 de junho de 2007). «Mauve test run results». Consultado em 12 de junho de 2007 
  26. Wielaard, Mark. «jtreg testing integrated». Consultado em 12 de julho de 2008 
  27. «Ark Linux packages». Ark Linux. Consultado em 23 de fevereiro de 2008 
  28. «Ubuntu -- Details of icedtea-java7-jre in gutsy». Ubuntu Packages. Consultado em 26 de outubro de 2007 
  29. «Ubuntu -- Details of package openjdk-6-jre in hardy». Ubuntu Packages. Consultado em 12 de julho de 2008 
  30. «Debian Building Instructions». IcedTea Wiki. Consultado em 21 de maio de 2008 
  31. «openjdk-6 - Debian NEW package overview». Debian ftp-master. Consultado em 21 de maio de 2008 
  32. «jdk6 - GPL-compatible free software licenses and documented copyrights and licenses». Consultado em 12 de julho de 2008 
  33. «openjdk-6 - Debian NEW package overview». Debian ftp-master. Consultado em 12 de julho de 2008 
  34. Wielaard, Mark (7 de junho de 2007). «IcedTea». Consultado em 9 de junho de 2007 
  35. Benson, Gary (6 de novembro de 2007). «Gary's guide to porting IcedTea». Consultado em 26 de janeiro de 2008 
  36. «Zero-Assembler Project». Consultado em 22 de agosto de 2008 
  37. «ZeroSharkFaq». icedtea.classpath.org. Consultado em 30 de maio de 2009 
  38. a b Benson, Gary (28 de maio de 2008). «28 May 2008». Red hat. Consultado em 30 de maio de 2008. Shark is a platform-independent JIT for HotSpot, to complement the zero-assembler interpreter we’ve been using 
  39. Benson, Gary (21 de maio de 2009). «Zero and Shark: a Zero-Assembly Port of OpenJDK». java.net. Consultado em 30 de maio de 2009. We started an experimental port of OpenJDK without assembly language, using free software libraries to bridge the gaps. This experiment evolved to become the zero-assembly port of OpenJDK -- Zero -- and its just-in-time compiler Shark. 
  40. Benson, Gary (1 de fevereiro de 2008). «1st February 2008». Consultado em 3 de fevereiro de 2008 
  41. Haley, Andrew (31 de janeiro de 2008). «Making zero-assembler the default on ppc». Consultado em 3 de fevereiro de 2008 
  42. Angel, Lillian (13 de fevereiro de 2008). «IcedTea 1.6 Released with Zero-assembler and JNLP support!». Red hat. Consultado em 13 de fevereiro de 2008 
  43. Benson, Gary (31 de março de 2008). «31 March 2008». Red hat. Consultado em 30 de maio de 2008 

Ligações externas[editar | editar código-fonte]