Java livre e Open Source

Sun Opens Java

Hoje é um dia histórico! Em uma iniciativa ousada, a Sun Microsystems anunciou pela manhã (9:30 PST) que tornou livre suas três implementações chave da tecnologia Java — Java Platform Standard Edition (Java SE), Java Platform Micro Edition (Java ME) e Java Platform Enterprise Edition (Java EE) — abrindo o código (open source) sob a GNU General Public License versão 2 (GPLv2), a mesma licença do GNU/Linux.

Embora fantástica, a decisão já não era grande surpresa. Há vários dias, Jonathan Schwartz já havia anunciado que a Sun estava decidida a tornar sua implementação de Java livre em breve, só estavam decidindo qual a melhor licença a usar. Até então, todo o software que a Sun tinha tornado livre, incluindo os fontes do sistema operacional Solaris 10, fora usando sua própria licença open source: CDDL (Common Development and Distribution License). No sábado, dia 11, o portal da revista JavaWorld antecipou: “É oficial: Sun tornará Java open source no dia 13″.

Ao decidir pela licença GNU GPL para as implementações Java, a Sun elimina a barreira legal/burocrática que existia impendindo que as distribuições Linux livres já contivessem instalada a excelente implementação de Máquina Virtual Java (JVM) HotSpot e o Kit de Desenvolvimento Java (JDK) da Sun.

Portanto, é um grande passo impulsionando a popularização ainda maior da tecnologia Java no mundo, em especial no ambiente Linux e na comunidade em torno do software livre. É também uma garantia extra de longevidade para a tecnologia, já que agora mesmo que a Sun deixasse Java de lado, esta pode ser perpetuada por projetos de software livre.

A tecnologia Java, contudo, sempre foi aberta. O mecanismo que determina todos os padrões de Java — nas plataformas padrão, corporativa, móvel e JavaCard — são definidas por um processo aberto, com livre participação de qualquer instituição ou indivíduo: o Java Community Process (JCP). No JCP, o único controle da Sun é o direito permanente a um voto. Além disso, há muito tempo os fontes do JDK eram abertos, disponíveis através de licenças mais restritivas, para fins de divulgação e pesquisa: Sun Community Source License (SCSL) e Java Research License (JRL).

O Apache Tomcat, software livre de contêiner Java para web, foi por muito tempo suportado ativamente pela Sun como implementação de referência das especificações Servlet e JSP. Agora, o projeto livre GlassFish tem forte suporte da Sun, que o adota como implementação de referência de toda a plataforma Java EE (5 em diante). Acrescente o IDE livre NetBeans, base para as ferramentas de desenvolvimento Java da Sun. Por fim (ufa!), não custa lembrar que as implementações de Java SE (JRE e JDK) da Sun — para Windows, Solaris e Linux — sempre estiveram disponíveis gratuitamente, embora sem livre redistribuição.

O anúncio do Java Livre foi tema da maior parte dos blogs da Sun, no portal Java.net e em sites de tecnologia do mundo todo. Destaque para a criação do projeto Open JDK, base para o desenvolvimento e evolução colaborativos dos principais componentes do JDK: HotSpot Virtual Machine (JVM) e o compilador da linguagem Java (javac).

Segundo o blog de Mark Reinhold no dia 12 — “One giant leap, two small steps” — o foco à frente para a Sun nos próximos seis meses é em dois pontos: um modelo de governança em que os engenheiros da sun ajam como mediadores (“proxies”) para colaboradores fora da Sun; e infra-estrutura, já que as ferramentas e processos específicos da Sun precisarão ser adaptados para o desenvolvimento aberto.

Os americanos podem ser supersticiosos sobre o número 13, mas é certo que este vai ser o dia ou o número de sorte para toda a enorme comunidade de desenvolvedores e fornecedores de produtos e serviços em torno da Tecnologia Java!

Para saber mais: