|
Bob Brewin, diretor de tecnologia da Sun Software e engenheiro emérito, mostra seu ponto de vista sobre o que a tecnologia Java de código aberto significa para a Sun, os desenvolvedores e os clientes
Bem-vindos de volta, leitores do Sun Inner Circle! No mês passado, abordei uma das minhas maiores preocupações como diretor de informática da Sun – segurança. Este mês, quero falar sobre grandes notícias anunciadas recentemente na Sun, ajudando os leitores a avaliar o impacto monumental da decisão da Sun de liberar sua implementação da plataforma Java para a comunidade de desenvolvedores de código aberto.
A Sun já declarou seu compromisso irrevogável em abrir o código de todo o seu portfólio de software. No passado, a Sun já havia manifestado sua resolução de atingir essa meta com uma lista impressionante de projetos de código aberto, incluindo OpenSolaris, NetBeans, OpenOffice, GlassFish e Project Looking Glass, só para mencionar alguns. Agora, com a decisão de abrir o código da tecnologia Java, a Sun não só é o maior fornecedor de software de código aberto, como é também quem mais contribui para as comunidades de software livre e GPL.
Embora esse seja indubitavelmente um momento importantíssimo, além de ser a coisa certa a fazer, a decisão de abrir o código da tecnologia Java levanta algumas questões. Por que a empresa decidiu que agora era o momento certo de abrir o código do Java? O que define esse tempo? Qual é o impacto dessa decisão na comunidade de código aberto? Qual é o futuro da tecnologia Java em função desse anúncio? E o que o anúncio significa em termos práticos para diretores e desenvolvedores?
Para ajudar a responder algumas dessas questões, convidei Bob Brewin, engenheiro emérito da Sun e diretor de tecnologia da Sun Software, para escrever a carta do mês. No dia-a-dia, Bob está envolvido em todas as facetas do desenvolvimento de software na Sun, incluindo o papel do código aberto, prioridades e atribuições no desenvolvimento, e supervisão dos grupos de tecnologia Java. Em outras palavras, não poderia haver uma pessoa melhor para discutir a motivação por trás da decisão da Sun, o que exatamente a empresa anunciou e as implicações para os clientes, desenvolvedores e a Sun.
Então, é com você, Bob –
Bob Worrall
Diretor de informática da Sun Microsystems
Obrigado, Bob. Estou feliz com esta oportunidade de mostrar alguns dos meus pontos de vista sobre a decisão da Sun de abrir o código da plataforma Java. Essa atitude representa um grande passo em direção ao objetivo de abrir o código de todo o portfólio de software Sun, e as implicações para a Sun, desenvolvedores, clientes e parceiros são enormes. Em resposta a algumas das questões apresentadas por Bob Worrall, gostaria de explicar por que a Sun escolheu este momento para liberar os principais componentes de sua implementação Java para a comunidade de código aberto.
A resposta pura e simples para a questão do tempo – os clientes estão exigindo produtos de código aberto, e a tecnologia Java evoluiu para um ponto onde está estabelecida, estável e tem uma comunidade vibrante que continuará a sustentar e desenvolver a plataforma. As razões do interesse pelo código aberto são muitas: o software de código aberto evita que se fique preso a um só fornecedor, aumenta a flexibilidade dos aplicativos e, em última análise, reduz os custos de desenvolvimento e do data center. Mas o verdadeiro motivo pelo qual os clientes passaram a preferi-lo é que os desenvolvedores adotaram o código aberto como parte de seu estilo no desenvolvimento dos aplicativos. Mais desenvolvedores estão criando software para ser executado em plataformas de código aberto, e os clientes podem extrair benefícios da flexibilidade e interoperabilidade promovida pelos padrões abertos.
Para a Sun, esse ciclo se resume na seguinte frase: o volume gera a oportunidade. Em outras palavras, aumentando o apelo da tecnologia Java para os desenvolvedores, o Java de código aberto aumenta a probabilidade de que outras pessoas criem dispositivos e serviços inovadores nessa plataforma. Por sua vez, esse maior volume gera mais oportunidades para a Sun e seus parceiros.
Java e o código aberto crescem juntos
É claro, durante o mesmo tempo em que o software de código aberto foi adotado como paradigma geral para desenvolvimento de aplicativos, a tecnologia Java amadureceu e se tornou a linguagem de software preferida para inovação em rede. Vamos considerar o seguinte: o Java é executado em mais dispositivos e em mais aplicativos do que o Windows, Linux e Solaris combinados. Nos últimos 11 anos, a Sun e a comunidade de tecnologia Java criaram um mercado e uma plataforma extremamente populares, grandes e dinâmicos para aplicativos móveis, empresariais e de desktop.
Devido aos benefícios do código aberto, muitas pessoas se perguntaram por que a Sun não abriu o código da plataforma Java antes. Trata-se em parte de uma questão de maturidade em termos de evolução da plataforma, bem como de ter uma comunidade saudável que irá ajudar a manter essa implementação compatível da tecnologia Java que, até agora, a Sun tem conseguido garantir… Essa é a promessa de “escrever uma vez e rodar em qualquer lugar".
E embora a decisão de abrir o código da tecnologia crie potencial para versões desviadas ou incompatíveis do Java, esperando até que a plataforma tivesse amadurecido mais e tivesse uma base instalada muito maior, agora podemos fornecer uma implementação de código aberto, e a comunidade provavelmente ajudará a manter a compatibilidade de versões futuras.
O que a Sun tem feito?
No JavaOne Conference em 2006, a Sun se comprometeu em abrir o código de toda a sua plataforma Java. No dia 13 de novembro, a Sun fez a liberação inicial dos componentes de suas principais implementações:
Cada uma dessas liberações ocorreu sob o GNU General Public License (GPLv2). Especificamente, a Sun abriu o código de importantes aspectos de seu Java SE (incluindo máquina virtual HotSpot, compilador javac e sistema de documentação JavaHelp) e Java ME (incluindo o código CLDC e CDL otimizado da Sun). Além disso, a empresa reiterou sua promessa de liberar todo o Java JDK em licenciamento de código aberto até o primeiro semestre de 2007.
A escolha do modelo de licenciamento para a liberação dessas implementações foi um dos aspectos mais especulados da decisão. O código do Java SE JDK foi aberto usando o GPLv2 com a exceção Classpath, e o Java ME foi liberado sob GPLv2 direto. Ao escolher o esquema de licenciamento no cerne da comunidade GNU/Linux, a Sun está buscando os desenvolvedores que, no passado, talvez não tivessem escolhido imediatamente o Java como solução. A escolha de GPL também deverá maximizar os benefícios para quem já usa código aberto, especialmente os membros da comunidade Linux.
| |
A Sun é atualmente quem mais contribui para as comunidades de software livre e GPL.
|
Admite-se que a decisão da Sun de abrir o código da tecnologia Java cria potencial para implementações conflitantes da plataforma. Mas a Sun traz um valor único ao cenário do Java de código aberto, e ainda possui as implementações Java SE e Java ME padrão gold. A Sun – como principal arquiteta da tecnologia Java e do JDK – oferece muitos recursos para desenvolvedores e anos de experiência no equilíbrio das necessidades de um ecossistema Java complexo. Ambos contribuirão para que a Sun preserve sua função de orientar a compatibilidade da plataforma Java.
Que oportunidades o Java de código aberto cria?
Bem, agora que sabemos o que a Sun fez e por quê, vamos examinar algumas das implicações para clientes, desenvolvedores e para a própria Sun. É desnecessário dizer que as ramificações da tecnologia Java de código aberto estão se espalhando.
Para os clientes, a tecnologia Java de código aberto promete muitas recompensas. Com a abertura do código da principal plataforma para Web, os clientes adotam a tecnologia Java com plena confiança de que não ficarão presos à tecnologia ou a uma implementação. E com a tecnologia Java disponível livremente, ela estará sujeita às forças do mercado que ajudam a promover a concorrência e reduzir os preços. Além disso, com a capacidade da Sun e as comunidades Java Community Process (JCP) e Java Specification Request (JSR) para ajudar a direcionar o desenvolvimento, os custos para mudar de uma implementação Java para outra serão baixos.
A tecnologia Java de código aberto se traduz em inovação mais rápida. No mundo do código aberto, existe mais concorrência de desenvolvedores que buscam criar aplicativos de melhor desempenho e mais recursos. Isso resultará em melhores produtos, preços mais baixos e redução do custo total de propriedade. Além disso, essas mudanças serão mais tangíveis no data center – onde a prioridade é fornecer os serviços de melhor qualidade pelo custo mais baixo –, porque ao usar uma implementação de código aberto da tecnologia Java, os desenvolvedores terão condições de criar grandes aplicativos empresariais compostos por um custo muito menor.
Para os desenvolvedores, a tecnologia Java de código aberto oferece maior flexibilidade e a possibilidade de explorar a tecnologia Sun de maneiras novas e inesperadas. Por exemplo, em ambientes da Web 2.0, existem muitas linguagens novas e dinâmicas (vem à mente o Ruby on Rails) que estão sendo desenvolvidas fora da Sun. A maior parte dessas linguagens é executada em seus próprios intérpretes ou máquinas virtuais.
Com uma máquina virtual Java de código aberto, e com a Sun e a comunidade trabalhando para acrescentar suporte a essas linguagens dinâmicas, é possível, se não provável, que a linguagem Java não seja mais a única beneficiária da máquina virtual Java. Em outras palavras, a máquina virtual Java pode se tornar uma tecnologia reutilizável que pode ser explorada em muitas linguagens diferentes. Os desenvolvedores terão a estabilidade e desempenho da máquina virtual Java, bem como a possibilidade de usá-la em seus próprios aplicativos que não são com Java.
Por fim, o código aberto promete trazer mais desenvolvedores à comunidade de tecnologia Java, o que resultará em aumento da concorrência, mais inovação e custos mais baixos para os clientes. Vale repetir – o volume gera oportunidade e benefícios.
Bob Brewin
Diretor de tecnologia da Sun Software e Engenheiro Emérito Sun
Sun Microsystems, Inc.
|