You are on page 1of 6

Java Livre

1
Paloma Costa

1paloma.costa@gmail.com
http://javawoman.objectis.net1paloma.costa@gmail.com

Abstract. This article shows to the new trends and the ways of Java and free  
Software, in the market showing the divergences between the two communities  
and of more current. The diverse existing projects are boarded that are being  
created for the communities Java and Free Software amongst the standards  
and the compatibility under free license.

Resumo.  Este artigo mostra as novas tendências e os caminhos de Java e  
Software   livre,   no   mercado   mostrando   as   divergências   entre   as   duas  
comunidades e de mais atual. São abordados os diversos projetos existentes  
que estão sendo criados pelas comunidades Java e Software Livre dentre os  
padrões e a compatibilidade sob licença livre.

1. Introdução
Pessoas, grupos e empresas que tornam forte o Java no País passam a centralizar os seus 
projetos,   abrem   espaço   para   outros   projetos   brasileiros   entre   os   quais   estão   e­Gen, 
ambiente de desenvolvimento rápido com Java e Jbanana, framework MVC baseado em 
XML. 
Através   desta troca  por  códigos, conhecimentos e principalmente a  rede networking 
serão abordadas as novas tendências e divergências sobre as compatibilidades e padrões 
reconhecidos   pelas   comunidades   Software   Livre   que   fazem   com   que   mais 
desenvolvedores se fortaleçam.
O artigo abordará mais detalhadamente a seguir. 

2. Padrões de compatibilidade
Nossa   liberdade   de   escolha   na   tecnologia   Java   é   garantida   pelo   Java   Community 
Process(JCP), organização que rege a criação e a evolução das especificações e exige 
que as diferentes implementações de Java e de suas APIs sejam compatíveis. Várias 
implementações   de   Java   existem,     Sun,   IBM,   BEA   e   Apple   e   as   desconhecidas.   A 
criação do J2SE5.0 foi o maior esforço colaborativo da comunidade Java até hoje. Mais 
de 160 experts de diversas empresas e países cooperaram em 15 JSRs. O que garante 
que   as   implementações   existentes   sejam   compatíveis   são   os   conhecidos   testes   de 
compatibilidade, agrupados no JCK – Java Compatibility Kit. Nenhuma implementação 
pode   ser   chamada   de   Java   até   que   passe   nesses   testes.     Buscando   ampliar   a 
compatibilidade   ,   para   o   Tiger   foram   adicionados   cerca   de   13   mil   testes   ao   JCK, 
chegando­se a mais de 45 mil. Essa sofisticação cada vez maior reflete o compromisso 
da tecnologia: garantir a compatibilidade e o foco multiplataforma. 

3. Ferramentas de desenvolvimento
Java por sua caracteristica multiplataforma e seu peso nas corporações, é uma excelente 
opção para incentivar e suportar o uso de software livre. 

3.1 Eclipse
Um dos projetos mais importantes está o lançamento da nova versão do mais popular 
IDE Java Livre,  trazendo o suporte ao J2SE5.0 , novas guias de retoração e quick fixes 
para migrar as novas sintaxes do Java5. Entre muitas outras características que ajudarão 
na produtividade do desenvolvedor como os plug­ins.

3.2 Web Tools Plataform
WTP   inclui   suporte   a   edição   de   arquivos   HTML,   XML,   JSP,   CSS   e   SQL,   alémde 
assistentes para a criação web services, conexão de banco de dados, criação de EJBs e 
deployment de aplicações.

3.3 Capivara
Sua finalidade é sincronizar diretórios locais e remotos. São suportados os protocolos 
FTP, SFTP ou SSH(configurar o serviço). Mais detalhes http://capivara.sf.net

3.4 HSQLDB 1.8
Versão   estável,   melhorias   feitas   pela   equipe   de   desenvolvimento   OpenOffice2.0. 
Possível colocar todos os arquivos de uma mesma base num jar. Suporta maior volume 
de dados. Testes realizados com PolePosition(polepos.org) colocam HSQLDN em amior 
velocidade em relação a outros bancos 100% java como por exemplo Apache Derby ou 
McKoi, One$DB e até mesmo MySql. Http://hsqldb.org

3.5 Apache Xerces – J2.7.0
A nova versão parser xml xerces(xml.apache.org/xerces2­j), traz compatibilidade com 
vários novos padrões: JAXP1.3, SAX2.0.2, DOM level 3 Core, xml1.1, Xinclude1.0 e 
nd
XmlSchema1.0 Structures  and Datatypes  2   Ed.  Foram  corrigidos  os  bugs  quando 
executado por múltiplas threads. 

4. Práticas recomendadas
A biblioteca padrão de classes do J2SE não inclui componebtes no estilo DataControl, 
DBGrid etc, que aumentam inicialmente a produtividade, mas torna “código espaguete” 
misturando   lógica,   visualização   e   regras   de   negócio.   A   prática   recomendada   em 
aplicações Java é ou construir classes DAO para acesso a dados via JDBC ou utilizar 
um framework de objeto relacional como o Hibernate. Código escrito completamente 
orientado a objetos.

5. A JVM como Software Livre
Existem muitas iniciativas para implemetar uma JVM livre, entre elas estão Kaffe, GCJ, 
e Classpath que são projetos bem adiantados e que precisam de um apoio maior. A JVM 
por si só já é muita complexa e não é fácil criar uma que seja performática e estável. 
Mais difícil que criar a máquina virtual é desenvolver o conjunto de biliotecas. São 
milhares funcionalidades que vão de um simples Integer a sofisticados componentes de 
criptografia, de APIs de tratamento de sons e gráficos a tecnologias didtribuídas de 
acesso a dados. As bibliotecas Java cobrem uma área muito extensa do conhecimento 
em   desenvolvimento  de  software.  Por   isso  é  importante  o  esforço  voluntário.Poucas 
pessoa   estão   trabalhando   efetivamente   nos   projetos   para   a   criação   de   uma 
implementação livre da JVM, e a maior parte destas tem maior interesse em pesquisa do 
que   em   criar   uma   versão   de   produção   que   possa   realmente   substituir   uma   das 
implementações proprietárias existentes.

5. Licença da Sun – SCSL
A Sun já disponibilizava o código fonte de Java desde a versão alfa, em 1995, antes 
mesmo de existir a definição formal do que é uma licençade software livre definida em 
1998, quandofoi criada a OSI – Open Source Initiative. A licença de java teve sempre o 
objetivo de garantir a compatibilidade, e evitar que empresas usassem o códigopara criar 
implementações   incompatíveis.   Por   tudo   isso,   a   licença   da   Sun,   a   Sun   Community 
Source License(lê­se “scazel”) é uma licença muito fechada. A SCSL é uma licença 
muito restrita e complexa que chega a colocar como propriedade intelectual da Sun 
qualquer iniciativa  relacionada  às  especificações Java de alguém  que tenha aceito o 
SCSL.  Afinal, a Sun nunca tomou nenhuma atitude contra as implementações livre da 
JVM. 

 5. Licença do Tiger

Java5 permite que tenhamos uma implementação de Java completamente independente 
do código Sun e , portanto, sob a licença que se quiser, sem limitações. O teste de 
compatibilidade está disponível, separadamente do código da Sun, e cobrindo todas as 
APIs do J2SE. Isso torna possível certificar as implementações open source que estão 
sendo criadas. 

 5. Projeto Javali

Sendo o principal objetivo do Projeto Javali a geração de tecnologia e conhecimento no 
país, suas principais atividades voltam­se à definição e ao desenvolvimento de projetos 
de importância nacional – mas que tenham respaldo da comunidade internacional –, 
focando   em   projetos   que   sejam   importantes   para   o   Brasil,   e   que   utilizem   ou  criem 
tecnologia de ponta promovendo a pesquisa, tenham relevância imediata para o governo 
e empresas, e estejam alinhados com iniciativas internacionais.
O   Projeto   Javali   reúne   as   características   necessárias   para   engajar   a   comunidade   de 
desenvolvedores nacionais em um esforço que trará benefícios imediatos ao país. Para 
isso,   o   Projeto   Javali   está   centrado   em   algumas   iniciativas   de   desenvolvimento   de 
software:   Máquina   Virtual,   Conjunto   de   Bibliotecas,   Ambiente   de 
desenvolvimento(IDE),   Soluções   de   integração   de   aplicações   clientes,   Componentes 
Visuais pela e­Gov, Tecnologia para a TVDigital e Geração de documentação. O projeto 
poderá ser acessado em hhtp://javali.org.br e veja também em http://java.net
Figure 1. O mascote do Java 

6. Conclusão
Estamos trabalhando para envolver mais desenvolvedores na criação de uma JVM livre e 
as   bibliotecas   básicas,   além   de   educá­las   sobre   o   que   já   existe,   incentivando   a 
utilizaçãodos projetos existentes. Criar uma implemetação é mais difícil do que pedir 
para   a   Sun   liberar   a   deles,   mas   é   a   responsabilidade   daqueles   que   acreditam   nas 
liberdades oferecidas pelas licenças livres. O Sou Java vem liderando um esforço no 
Brasil   e   em   âmbito   internacional,   através   do   Porjeto   Javali,   buscando   aumentar   a 
visibilidade das implementações livres, além de canalizar esforços de desenvolvedores 
para a sua finalização.

References
Máquina Virtual Kaffe  http://kaffe.org
GNU Classpath  http://gnu.org/software/classpath
SCSL e princípios por trás da licença  http://sun.com/981208/scsl/principles.html
Mauve Kit de compatibilidade Open Source http://sources.redhat.com/mauve
Javali  http://javali.org.br
JCP http://jcp.org/en/home/index
NetBeans  http://netbeans.org
Banco de Dados HSQLDB http://hsqldb.sf.net
Tomcat http://tomcat.apache.org/
Java NET  http://java.net
Jboss  http://www.jboss.org
Projetos Java NET  http://community.java.net/projects/
Tiger http://java.sun.com/j2se/1.5.0/