|
Recentemente Steve Anglin, Editor do ONJava,
escreveu um artigo mostrando que a tecnologia Java esta sendo "Open
Sourced" aos poucos (Open
Source Java Prediction).
Sempre se ouve criticas de pessoas da comunidade Open Source a respeito
do "controle" que a Sun Microsystems mantem sobre a tecnologia Java, e
o quão lenta a Sun tem sido em atender as expectativas da comunidade
Open Source. Não é raro encontrar desenvolvedores que repudiam
Java por não ser "realmente livre".
Sem querer entrar no mérito a respeito de quão aberto
é o processo de evolução da tecnologia Java (o JCP),
do qual qualquer um de nós pode e deve participar, e correndo o
risco de gerar um monte de reclamações, eu gostaria de deixar
pelo menos um pensamento a respeito de Open Source.
A noção de que Java deveria ter sido transformada em Open
Source não leva em conta que Java é uma tecnologia básica,
de infraestrutura. Para ser útil, Java precisa ser compatível.
Todas as JVMs precisam ser compatíveis e garantir a interoperabilidade.
Sem isso, Java teria desaparecido no primeiro ano.
Infelizmente, garantir a compatibilidade de tecnologias básicas
de infraestrutura não é uma caracterisitica fácil
de se conseguir em um ambiente Open Source.
Alguns já estão gritando: como não, e o Linux?
Bem, além do fato de existirem diversas incompatibilidades entre
sistemas Linux (no flames please), o Linux é um caso especial nesse
ambiente. Antes do Linux, existiu o Unix, que gerou uma enorme base instalada,
grandes quantidades de software, compiladores, etc. Não só
isso, gerou também um ambiente de troca de informações
e código que inclusive permitiu o nascimento do próprio movimento
Open Source. Em cima dessa base, quem quisesse desenvolver o Linux (ou
qualquer outro Unix) precisava ser compatível, e isso foi
o que tornou possivel a existência do Linux (um software básico
de infraestrutura) como projeto Open Source. Ainda assim, para garantir
a compatibilidade do ambiente, existem hoje apenas 3 ou 4 programadores
no mundo inteiro que podem efetivamente fazer "commit" no código
do Kernel do Linux.
E como fazer a mesma coisa com Java? A Sun precisava que existisse uma
base instalada, e um conjunto de aplicações Java, que obrigassem
a necessidade de compatibilidade. Por isso, a Sun tomou as rédeas
e foi (como ela se intitulou) a "guardiã" da tecnologia desde seu
nascimento. Esse controle foi extremamente importante em várias
situações, em particular nas nas tentativas da Microsft e
da HP de quebrarem o padrão. Com a adoção da tecnologia
por milhões de desenvolvedores, a Sun vem ja a bastante tempo dando
importantes passos para a liberação cada vez maior da tecnologia
Java. O JCP é um excelente exemplo, e o artigo de Steve Anglin acima
mostra outros passos mais recentes.
Ainda assim, isso não significa que é hora de correr.
Esses passos tem que ser cuidadosos, e tomados apenas com as tecnologias
efetivamente maduras e adotadas largamente pela indústria. Afinal,
de nada nos serviria um padrão fracionado e cheio de incompatibilidades.
Seria como cortar os cabelos de Sansão.
|