A abertura do Android

Como já comentei no artigo “O sucesso do Android“, uma das maiores críticas ao sistema do robô verde é a falta de abertura no seu desenvolvimento por parte da Google. O que acontece é que a empresa desenvolve o sistema a portas fechadas e, após o lançamento de uma nova versão, ela “joga” o código nos repositórios públicos do Android Open Source Project (AOSP). Apesar de ser um defensor do software livre e concordar que a política de desenvolvimento do Android não é das mais abertas, sou obrigado a discordar de grande parte dessas críticas.

Long live to true open source

Em outubro do ano passado, Joe Hewitt, um conhecido desenvolvedor open source e usuário de iPhone, fez críticas ao Google dizendo que o Android não é diferente do iOS em termos de abertura. Ele compara seu modelo de desenvolvimento com o do Firefox e do Linux, como estes sendo verdadeiros softwares livres. No entanto, é muito estranho para mim uma pessoa como o Joe falar tamanha bobeira, parecendo, inclusive, que ele está desesperadamente procurando uma justificativa para utilizar o iPhone ao invés de um smartphone com Android.

Um texto bastante conhecido para qualquer pessoa interessada em software livre (e leitura obrigatória para qualquer geek ou hacker) é o “The Cathedral and The Bazaar“, escrito por Eric Raymond, que descreve duas formas de desenvolver um software. Uma delas ele compara com uma catedral, onde o software é desenvolvido por um grupo fechado de pessoas, sem muito barulho. Outra forma ele compara com um bazar, onde o desenvolvimento é feito de forma mais pública e que está aberta para qualquer um contribuir. Podemos ver claramente que desenvolvimento do Android se encaixa na primeira e que, apesar deste modelo ser mais comum no desenvolvimento de softwares proprietários, ele já foi utilizadoem softwares livres, como o Emacs, desenvolvido pelo próprio fundador do movimento do software livre, Richard Stallman. Será que realmente o Android não pode ser considerado software livre por ser desenvolvido a portas fechadas?

Além disso, como fazer uma comparação ao iOS? Graças à abertura do código do Android, o meu HTC Magic está sempre atualizado com a última versão do sistema. Aliás, graças à abertura do código, é possível rodar o sistema do Google num iPhone :) É possível o contrário? Sem o código em mãos, absolutamente não.

Por que catedral?

No texto, Eric Raymond fala muito sobre um projeto muito bem sucedido e atribui este sucesso ao modelo “bazar”: o Linux. Se este modelo é tão bom, porque o Google optou pelo “catedral”? A resposta oficial é esta:

Why are parts of Android developed in private?

It typically takes over a year to bring a device to market, but of course device manufacturers want to ship the latest software they can. Developers, meanwhile, don’t want to have to constantly track new versions of the platform when writing apps. Both groups experience a tension between shipping products, and not wanting to fall behind.

To address this, some parts of the next version of Android including the core platform APIs are developed in a private branch. These APIs constitute the next version of Android. Our aim is to focus attention on the current stable version of the Android source code, while we create the next version of the platform as driven by flagship Android devices. This allows developers and OEMs to focus on a single version without having to track unfinished future work just to keep up. Other parts of the Android system that aren’t related to application compatibility are developed in the open, however. It’s our intention to move more of these parts to open development over time.

Na lista de discussão Android Brasil, houve uma discussão sobre este texto e minha opinião é a mesma de diversas pessoas da lista: no mercado móvel há uma concorrência muito acirrada e as empresas que investem no Android querem ter uma vantagem competitiva em relação às suas concorrentes. Talvez este tenha sido, inclusive, o motivo do sucesso do sistema e um dos motivos do fracasso de tantos outros sistemas abertos que tentaram entrar neste mercado.

Futuro

Como o próprio Google disse em sua nota oficial, eles querem que cada vez mais o sistema seja desenvolvido de forma aberta e tudo dependerá de como o mercado irá se comportar. O recente anúncio da retenção do código da versão 3.0 por mais tempo do que o normal foi um prato cheio para os alarmistas, mas ainda não vi motivos para que ela mantenha esta versão fechada para sempre. O Android sempre teve seu código disponibilizado e isto é um dos principais motivos para o seu sucesso – mudar esta política agora seria um tiro no pé.

Desta forma, acho que estamos caminhando para um futuro cada vez mais aberto para o Android. Eu, como usuário do sistema, torço muito para que isto aconteça, pois os projetos desenvolvidos em forma de “bazar” costumam ter uma evolução muito mais rápida, com muito mais inovações e menos bugs, como aconteceu com o Linux.