Como pode ser considerado aberto um software ou uma linguagem se sua aprovação depende, no fim das contas, de uma única empresa?
A Apache está atualmente entre a cruz e a espada. Ela não
pode obter a certificação de compatibilidade Java para seu Java de código
aberto, Harmony. A Oracle, tal como fez antes a Sun, não vai permitir a
execução dos testes de certificação. Sem isso, a Apache não pode afirmar que o
Harmony é mesmo Java, para efeitos legais.
Para complicar ainda mais, a IBM,
que tinha sido a maior apoiadora do Harmony, largou o projeto para alinhar-se
ao OpenJDK da Oracle.
O que uma fundação de open source pode fazer? Ela pode
tentar forçar a Oracle a cooperar, usando seu assento no Comitê Executivo do
Java Community Process (JCP) – o grupo que, em teoria, comanda o Java – para votar
contra a aprovação do Java 7, isso quando ele for apresentado para aprovação.
Por si mesma, a Apache não pode bloqueá-lo, mas ela tem
conversado com outros membros do JCP para também votar contra, num protesto à
recusa da Oracle de permitir que a Apache certifique o Harmony.
Em um comunicado, a Apache explicou sua posição e detalhou
por que comprou essa briga:
“Nós somos gratos pelo forte apoio da comunidade, e
acreditamos que seja uma validação do trabalho que a ASF tem feito no JCP.
Nossos esforços de transformar o JCP em um ecossistema verdadeiramente aberto
ajudam a reforçar o valor do Java para todos – para implementadores de open
source como os do ASF, para estudantes, educadores e acadêmicos que usam Java
para estudo e pesquisa, para fabricantes independentes de software que criam
produtos e serviços inovadores em Java, e para usuários comerciais em todas as
áreas da atividade econômica que dependem do Java para funcionar e crescer.”
“Por meio do JSPA, o acordo sob o qual a Oracle e a ASF
participam do JCP, a ASF [Apache Software Foundation] pode receber uma licença
para o kit de teste do Java SE (o “TCK”), que permitiria à ASF testar e
distribuir uma versão do projeto Apache Harmony sob a licença Apache. A Oracle
está violando sua obrigação contratual conforme descrita nas regras do JCP ao
oferecer apenas uma licença TCK que impõe termos e condições adicionais que não
são compatíveis com licenças open source ou de software livre. A ASF acredita
que qualquer detentora de especificação que não siga as regras do JCP não poderia
participar como membro em posição confortável, e nós temos usado nossos votos sobre
JSRs (Java Specification Requests) – nosso único poder real no JCP – de acordo.
Nós votamos contra a Sun e temos deixado claro que votaremos contra o JSR para
o Java SE 7 por essas razões.”
“À luz da falha da Oracle Corporation de cumprir com suas
responsabilidades como detentora de especificações sob o JSPA e da sua quebra
de compromisso assinado com a Apache Software Foundation – compromisso este que
foi a condição sob a qual concordamos em participar do JCP –, nós conclamamos o
Comitê Executivo do JCP a continuar com seu apoio claro, forte e público ao Java
como um ecossistema de especificação aberta para assegurar que qualquer um –
indivíduo ou empresa, universidade ou entidade sem fins lucrativos – seja capaz
de implementar e distribuir especificações Java sob os termos de sua escolha.
Especificamente, nós encorajamos outros membros do Comitê Executivo do JCP a
continuar com seu apoio a nossa posição em relação à Oracle, e a votar de forma
apropriada acerca do próximo Java SE 7.”
“A ASF irá encerrar seu relacionamento com o JCP caso nossos
direitos como implementadores de especificação Java não tiverem o apoio do
Comitê Executivo do JCP nos limites deste comitê. A falta de um reforço ativo,
forte e claro desses direitos implicará que os acordos JSPA não têm valor e confirmará
que as especificações JCP não são nada mais que documentação
proprietária.”
A Apache não concorda com a política iniciada pela Sun e
continuada pela Oracle de recusar-se a permitir que programas open source de
terceiros concorram no mesmo nível de programas open source “oficiais” da
Oracle, como o OpenJDK.
Este confronto poderá ter diversos resultados. Primeiro: penso
que a Oracle não vá sequer piscar. Mesmo que a Apache tenha sucesso no bloqueio
à aprovação do Java 7, isso não quer dizer que a Oracle não vá deixar de
lançá-lo.
A partir daí, prevejo uma dissidência (fork) do Java. De um
lado, haverá o Java open source “oficial” e, do outro lado, o Apache e seus
aliados. Logo depois disso, prevejo também que a Oracle processe a Apache, da
mesma forma que a Oracle processou a Google pelo uso do Dalvik no Android.
No fim, a Justiça terá que decidir esta batalha. Enquanto
isso, todos aqueles que se importam com open source terá uma decisão a fazer: “Qual
é o tamanho da abertura de um software ou linguagem de código aberto se sua
aprovação depende, no fim das contas, de uma empresa?”
E eu concordaria com a Apache que um programa desses não é
verdadeiramente open source, não importa quão disponível seu código-fonte possa
ser.