O Android é realmente software livre?

O texto abaixo foi publicado originalmente por Richard Stallman no site do The Guardian sob o título Is Android really free software? e republicado no site do Projeto GNU sob o título Android and Users’ freedom. Nele Stallman, precursor do movimento software livre, fala um pouco sobre suas objeções em relação ao sistema Android, criado pela Google para rodar em dispositivos portáteis. Leitura recomendada para quem deseja entender um pouco melhor a, por vezes obscurecida, relação entre Android, GNU e Linux!

A tradução do texto foi feita por mim, portanto, sintam-se à vontade para sugerir qualquer correção dela.

Até que ponto o Android respeita a liberdade do seu usuário? Para um usuário de computador que valoriza a liberdade essa é a questão mais importante a fazer sobre qualquer sistema de software.

No movimento software livre, nós desenvolvemos software que respeita a liberdade dos usuários, então nós e vocês podemos escapar de softwares que não fazem isso. Por outro lado, a ideia de “open source” foca em como desenvolver código, é uma corrente de pensamento diferente cujo principal valor é a qualidade do código ao invés da liberdade. Assim, a preocupação aqui não é se o Android é “aberto”, mas se ele permite que os usuários sejam livres.

Android é um sistema operacional principalmente para celulares, que consiste em Linux (Kernel do Torvalds), algumas bibliotecas, uma plataforma Java e alguns aplicativos. Linux à parte, o software do Android versões 1 e 2 foram a maior parte desenvolvidos pela Google; a Google o lançou sob a licença Apache 2.0, que é uma licença permissiva de software livre sem copyleft.

A versão do Linux incluída no Android não é inteiramente software livre, uma vez que ela contém “blobs binários” não livres (assim como a versão de Torvalds do Linux), alguns dos quais são realmente utilizados em alguns dispositivos Android. Plataformas Android usam outro firmware não livre e também as bibliotecas. Além desses, o código fonte do Android versões 1 e 2, como divulgado pela Google, é software livre – mas esse código não é suficiente para fazer funcionar o dispositivo. Alguns dos aplicativos que geralmente vêm com o Android são não livres também.

Android é muito diferente do sistema operacional GNU/Linux porque contém muito pouco do GNU. Na verdade, o único componente em comum entre o Android e o GNU/Linux é o Linux, o kernel. As pessoas que erroneamente acham que “Linux” se refere a inteira combinação GNU/Linux fica enrolado por esses fatos, e fazem afirmações paradoxais como “Android contém Linux, mas não é Linux”. Se evitarmos partir dessa confusão, a situação é simples: Android contém Linux, mas não GNU; assim, Android e GNU/Linux são em sua maior parte diferentes.

No Android, Linux, o kernel, continua sendo um programa separado, com seu código fonte sob uma licença GNU GPL versão 2. Combinar Linux com um código sob a licença Apache 2.0 seria violação de copyright, já que a GPL versão 2 e Apache 2.0  são incompatíveis. Os rumores de que a Google tinha de alguma forma convertido o Linux à licença Apache estão errados. Google não tem o poder para alterar a licença do código do Linux, e nem tentou. Se os autores do Linux permitiram a sua utilização sob a GPL versão 3, então esse código poderia ser combinado com um código licenciado sob Apache, com a combinação poderia ser liberado sob a GPL versão 3. Mas o Linux não foi liberado dessa forma.

Google cumpriu com as exigências da GNU Licença Pública Geral para Linux, mas a licença Apache sobre o resto do Android não exige liberação do código fonte. Google disse que nunca publicaria o código fonte do Android 3 (com exceção do código do Linux). O código do Android 3.1 também foi retido, tornando o Android 3, além do Linux, software não livre puro e simples.

Google disse que reteve o código do 3 porque estava bugado, e que as pessoas deveriam esperar para o próximo lançamento. Isto pode ser um bom conselho para as pessoas que querem simplesmente rodar o sistema Android, mas os usuários devem ser os únicos a decidir isso. De qualquer forma, desenvolvedores e tinkerers que desejam incluir algumas das mudanças em suas próprias versões podem usar esse código muito bem.

Felizmente, a Google mais tarde lançou o código fonte para o Android 3.* quando lançou a versão 4 (também com código fonte). O problema acima acabou se tornando uma aberração temporária em vez de uma mudança na política. No entanto, o que acontece uma vez pode acontecer de novo.

Em todo caso, a maior parte do código fonte de várias versões do Android foi liberada como software livre. Isso significa que produtos que usam essas versões do Android respeitam a liberdade do usuário? Não, por várias razões.

Primeira de todas, a maioria deles contém aplicativos não livres do Google para conversar com serviços como YouTube e Google Maps. Estes não são oficialmente parte do Android, mas isso não torna o produto bom. Há também bibliotecas não livres; se elas fazem parte do Android é um ponto discutível. O que importa é que várias funcionalidades precisam delas.

Mesmo os arquivos executáveis que são oficialmente parte do Android podem não corresponder aos lançamentos de código fonte da Google. Os fabricantes podem alterar esse código, e muitas vezes eles não liberam o código fonte para suas versões. A GNU GPL exige que eles distribuam o código para suas versões de Linux, se cumprirem. O resto do código, sob a licença permissiva Apache, não os obriga a liberar a versão do código que eles realmente usam.

Uma mudança que alguns fabricantes fazem no Android é a inclusão de um oculto pacote de vigilância geral, como o Carrier IQ.

Replicante, uma versão gratuita do Android que suporta apenas alguns poucos modelos de telefone, substituiu muitas dessas bibliotecas, e você pode ficar sem os aplicativos não livres. Mas há outros problemas.

Alguns modelos de dispositivos são projetados para impedir os usuários de instalar e usar o software modificado. Nessa situação, os executáveis não são livres, mesmo se eles forem feitos a partir de fontes que estão livres e disponíveis para você. No entanto, alguns dispositivos Android podem permitir acesso root para que os usuários possam instalar software diferente.

Importantes firmwares ou drivers são geralmente proprietários também. Estes abrangem o rádio da rede de telefone, Wi-Fi, bluetooth, GPS, gráficos 3D, a câmera, o viva voz, e em alguns casos, o microfone também. Em alguns modelos, alguns destes drivers são livres, e há alguns que você pode ficar sem – mas você não pode ficar sem o microfone ou o rádio da rede de celular.

O firmware de rede de telefone vem pré-instalado. Se tudo o que fez foi sentar lá e executar, poderíamos considerá-lo como equivalente a um circuito. Quando insistimos que o software em um dispositivo de computação deve ser livre, nós podemos esquecer o firmware pré-instalado que nunca será atualizado, porque ele não faz diferença para o usuário, ele é um programa em vez de um circuito.

Infelizmente, neste caso, seria um circuito nocivo. Recursos maliciosos são inaceitáveis, não importa como eles são implementados.

Na maioria dos telefones Android, este firmware tem tanto controle que poderia transformar o produto em um dispositivo de escuta. Em alguns, ele controla o microfone. Em alguns, ele pode assumir o controle total do computador principal, através de memória compartilhada, e pode, assim, anular ou substituir qualquer software livre que você instalou. Com alguns modelos é possível exercer um controlo remoto deste firmware, e, assim, do computador do telefone, por intermédio da rede de rádio do celular. O ponto de software livre é que temos controle de nossa computação, e esta não se qualifica. Embora qualquer sistema de computação possa TER bugs, estes dispositivos podem SER erros. (Craig Murray, em Murder in Samarkand, relata seu envolvimento em uma operação de inteligência que remotamente converteu um desavisado celular não Android em um aparelho de escuta.)

Em todo caso, o firmware de rede do telefone em um dispositivo Android não é equivalente a um circuito, porque o hardware permite a instalação de novas versões e isto é realmente feito. Já que ele é um firmware proprietário, na prática apenas o fabricante pode fazer novas versões – usuários não podem.

Colocando esses pontos juntos, nós podemos tolerar firmware não livre de rede do telefone, fornecido novas versões dele que não serão carregadas, ele não pode assumir o controle do computador principal, e pode se comunicar apenas quando e como o sistema operacional livre optar por isso. Em outras palavras, ele tem de ser equivalente ao circuito, e esse circuito não deve ser nocivo. Não há obstáculo para a construção de um telefone Android que tenha essas características, mas não sabemos de nenhum.

Cobertura de imprensa recente do Android concentra-se nas guerras de patentes. Durante 20 anos de campanha pela abolição das patentes de software, nós alertamos que tais guerras poderiam acontecer. As patentes de software poderiam forçar a eliminação de recursos do Android, ou mesmo torná-lo indisponível. Veja endsoftpatents.org para obter mais informações sobre o porque patentes de software devem ser abolidas.

No entanto, os ataques de patentes e as respostas da Google não são diretamente relevantes para o tema deste artigo: como os produtos Android abordam um sistema ético de distribuição e como eles ficam aquém. Este assunto merece a atenção da imprensa também.

Android é um passo importante no sentido de uma ético celular software livre, controlado pelo usuário, mas há um longo caminho a percorrer. Os hackers estão trabalhando no Replicant, mas é um grande trabalho apoiar um modelo de telefone novo, e aí permanece o problema do firmware. Mesmo que os telefones Android de hoje sejam bem menos ruins que os smartphones da Apple ou  Windows, eles não podem dizer que respeitam a sua liberdade.

About these ads

5 comentários sobre “O Android é realmente software livre?

  1. Parabens pelo compartilhamento, particularmente admiro Richard Stallman por lutar muito para liberdade de softwares. Eu ja estava ciente dessa jogada da google, ja tives de todos os sistemas operacionais e fico IMPRESSIONADO com a falta de privacidade e oportunismo da Google no android, eu tenho um atualmente, mas tenho que ficar periodicamente revendo configuracoes, permissoes e bloqueando as garras da Google. Nao existe, ao meu ver, nenhum orgao externo ou do google para fiscalizar os aplicativos para android, vejo jogos da Gameloftpor exemplo com permissao para ver historico de chamadas, sms, localizacao forçada, alterar e descobrir redes, e até alterar metodos de entrada do so do aparelho e isso os usuarios nao observam antes de instalar, acabando prestigiando essas empresas oportunistas, logico com consentimento da Google. Aguardo ansiosamente o Ubuntu Phone, provavelmente será meu ultimo celular.

  2. É interessante essa distinção d Android com o GNU/Linux…eu achava que o android era praticamente um outra distribuição de Linux…mas pelo visto, isso não é totalmente verdade.

    • Pois é Teo, na verdade, textos como esse são bons pra esclarecer alguns pontos obscuros dessa relação do Google com o software livre, que não é tão favorecedora da liberdade como muitos podem pensar.

    • Bruno, realmente esse texto do João é muito bom! Esclarece quem afinal de contas ganha e quem perde (usuário final) nessa relação confusa de licenças misturadas. Valeu pela dica!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s