IcedTea
IcedTea é um software de desenvolvimento e projecto de integração lançado pela Red Hat, em junho de 2007.[1] O objetivo é fazer o software OpenJDK que a Sun Microsystems lançou como software livre em 2007, utilizável sem exigir qualquer outro software que não é livre. Para a Red Hat, isto tornaria possível adicionar o OpenJDK ao 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. Em abril de 2008, viu-se 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 passar nos rigorosos testes TCK da Sun[3] em x86 e x86-64. HistóriaEste 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] 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 o OpenJDK apenas com componentes em software livre. A Sun é destinada a negociar com os titulares de licença para permitir esse código a 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ídos, 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.[5] Na sequência do anúncio, o projeto IcedTea foi iniciado e formalmente anunciado em 7 de junho de 2007,[6] com build de um repositório fornecido pela equipe GNU Classpath. A equipe não podia chamar seu software produto de "OpenJDK" porque esta é uma marca comercial de propriedade da Sun Microsystems. Eles decidiram, em vez disso, o nome temporário "IcedTea".[7] Em 5 de novembro de 2007, quanto à Red Hat e à Sun Contributor Agreement, ambos assinaram um acordo com a Comunidade OpenJDK, a Licença TCK. O comunicado de imprensa sugeriu que isso iria beneficiar o projeto IcedTea.[8] Simon Phipps sugeriu a possibilidade de estar hospedando IcedTea no openjdk.java.net;[9] e Mark Reinhold notou que a assinatura da cessão de direitos autorais poderia permitir que a Red Hat contribuísse com os componentes do IcedTea à Sun para inclusão no JDK mainstream.[10][11] Desde então, uma série de patches para IcedTea6 fizeram seu caminho para OpenJDK6, por exemplo.[12][13] 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-se afirmar uma implementação totalmente compatível com Java 6.[14] ObjetivosEspecificamente, o projeto IcedTea começou com dois objetivos. Um deles é que seja possível para o GNU Compiler for Java compile o código OpenJDK. O problema era que o único programa que poderia compilar o software proprietário OpenJDK existente era o Sun JDK. Distribuições livres como o Fedora não podem 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 do IcedTea do OpenJDK poderia ser utilizada para compilar a si mesma, escapando assim, a necessidade de uso de software não-livre às futuras compilações.[6][15] 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 pode ser construído sem plugins binários. Com o lançamento do b10,[16] 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ída sem plugins binários. O único remanescente é um plugin binário para suporte SNMP, que é um provedor opcional de arquitectura JMX e não faz parte das especificações. BenefíciosO IcedTea fornece um plugin Java Web browser em software livre. Foi o primeiro a trabalhar em navegadores de 64 bits em Linux de 64 bits, uma característica proprietária do JRE da Sun conduzida mais tarde.[17] Isto o torna adequado para habilitar o suporte a Java applets em Firefox de 64 bits, entre outros. Além disso, o suporte Java Web Start é por meio do NETX.[18] Sun fez promessas sobre lançar seu plugin e implementação de Web Start, como parte do OpenJDK, mas até agora não cumpriu,[19] apesar da contínua pressão da comunidade.[20] O desenvolvimento do plugin IcedTea continua, com a última versão da próxima geração do plugin com suporte ao Google Chromium.[21] O desenvolvimento atual tem lugar no rojeto separaddI cedTea Web.[22] IcedTea fornece também build de sistema mais familiar, proporcionando um wrapper em torno do OpenJDK makefiles utilizando o GNU Autotools. Isso elimina a necessidade de lembrar um grande número de variáveis do ambiente para configurar e construir (o actual IcedTea constrói um conjunto de cerca de 40 dessas variáveis à construção subjacente ao 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[23]; e ao trabalho nos portes para outras plataformas. Evolução e avaliaçãoEm junho de 2007, o Fedora está trabalhando no IcedTea; e uma porção significativa da Mauve, a suíte de testes do GNU Classpath, executado com êxito no mesmo.[24] Em maio de 2008, o suporte foi adicionado ao IcedTea para rodar os testes de regressão Sun jtreg.[25] IcedTea é o padrão na JVM no Ark Linux.[26] IcedTea está disponível no Ubuntu 7.10 (Gutsy Gibbon), a partir do "universo" repositório;[27] e IcedTea6 no 8.04 (Hardy Heron).[28] IcedTea está disponível no Fedora 8 e IcedTea6 no Fedora 9 (como java-1.6.0-openjdk), a partir do repositório "yum". Pacotes (e builds) para IcedTea6 estão disponíveis no Gentoo no repositório oficial, mas eles são marcados como instáveis. Pode ser construído e executado no Debian.[29] Pacotes binários foram apresentadas em 20 de abril. Em abril de 2008, mas foram rejeitados devido a problemas com alguns arquivos de licenciamento.[30][31] Um novo pacote foi carregado em junho de 2008;[32] e entrou instável em 12 de julho de 2008. ArquitecturaOpenJDK contém aproximadamente (no lançamento, em maio de 2007) 4% de código sobrecarregado,[7] que só foi empacotado como plugins binários. Esses eram necessários para construir e usar o JDK. OpenJDK6 foi lançada com apenas 1% de código sobrecarregado; e seu suporte a som também já foi substituído. IcedTea6 baseia-se nesta versão. IcedTea6 ainda fornece suporte web browser, o suporte Web Start, 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, compilando tudo com GCJ e opcionalmente bootstraps a si mesma, usando o HotSpot e Java Virtual Machine; e o javac, compilador Java, que apenas dá um built.[33] Zero e SharkPortes 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++.[34] O projecto IcedTea desenvolveu um porte genérico do interpretador HotSpot zero-assembler Hotspot (ou zero),[35] com quase nenhum código assembly.[36][37] Este porte é destinado a permitir adaptar o Linux na arquitetura do processador, tornando potencial infinito em portáteis.[38] O código do HotSpot zero-montador é utilizado para todos os não-x86 portes do HotSpot (PPC, IA64, S390 e ARM) desde a versão 1.6.[39][40][41] O rojetoI cedTea já está desenvolvendo uma plataforma independente de compilador just-in-time chamado Shark para HotSpot, utilizando LLVM, para complementar Zero.[37][42] Concluindo este trabalho, fará com que o Java Virtual Machine seja independente da arquitetura de CPU. Referências
Ligações externas
|
Portal di Ensiklopedia Dunia