Review Android 13 | Evolução na medida, mas sem surpreenderQual o sistema operacional de celular mais usado do mundo?
Dada a finalidade voltada para portáteis, o Android por vezes não é considerado uma plataforma Linux. Contudo, há uma série de evidências que comprovam que o Sistema do Robô é uma distribuição do Pinguim que, assim como outros projetos, segue caminhos diferentes e atende uma finalidade distinta, majoritariamente fora dos computadores desktop tradicionais.
O que é Linux?
Apesar de ser vulgarmente tratado como um sistema operacional alternativo, o Linux por si só não é um sistema como Windows e macOS. Na verdade, Linux é um kernel (núcleo), ou seja, parte central de um SO responsável pelo gerenciamento de tarefas de baixíssimo nível. Grosso modo, é ele que faz a comunicação do software com o hardware — componentes e periféricos do computador, como memórias, processador e placa de vídeo. Em termos gerais, o kernel é um dos componentes necessários para construir um sistema operacional. Sozinho, o Linux até consegue inicializar um computador e tem ferramentas próprias que já tornam uma máquina operacional — não para um usuário comum, na maioria das vezes —, mas são as camadas adicionais (como bibliotecas, APIs e interface de usuário) que complementam o pacote e formam um SO inteiro. Lançado em versão final por Linus Torvalds em 1991, o Linux é um projeto de código aberto distribuído sob a General Public License (GNU GPL), ou seja, seu código pode ser implementado de forma gratuita em outras plataformas — daí surgem as chamadas distribuições (as distros) Linux. Ubuntu, Mint, Fedora e Manjaro são algumas dessas implementações do Pinguim, cada uma delas distinta em interface, ferramentas e estrutura, mas todas construídas sobre o kernel Linux.
Android é Linux?
De forma breve e direta: sim, o Android é Linux, apesar de ser majoritariamente usado em celulares e tablets e não em computadores, como ocorre com os sistemas Linux que a maioria das pessoas conhece. “A Canonical, responsável pelo Ubuntu, pega o kernel Linux, implementa vários componentes sobre ele e constrói o Ubuntu”, pontua o fundador do site e canal Diolinux, Dionatan Simioni. “O Google faz a mesma coisa e chama de Android”, complementa. “O Android é uma pilha de software com base em Linux de código aberto criada para diversos dispositivos e fatores de forma”, explica o Google. “A fundação da plataforma Android é o kernel do Linux. Por exemplo: o Android Runtime (ART) confia no kernel do Linux para cobrir funcionalidades como encadeamento e gerenciamento de memória de baixo nível”, adiciona a empresa. Enfim, é o código do Pinguim que possibilita a comunicação de softwares de alto nível (acessados por usuários) se comuniquem com componentes internos do aparelho. Portanto, sem a base Linux, o Android sequer existiria.
Um Linux diferente
Embora seja construído sobre uma base comum, o Android se difere de outras distribuições graças às funcionalidades desenvolvidas pelo Google. Inclusive, o Sistema do Robô evolui em ritmo diferente do projeto capitaneado por Linus Torvalds, seguindo um cronograma próprio de atualizações. Nesse ponto mora a controvérsia: a base do Android é Linux, mas a plataforma já é bem diferente da estrutura original e, por isso, há quem defenda que ela seja considerada um fork, ou seja, um derivado, do Pinguim. Torvalds inclusive é um dos defensores dessa ideia, apesar de acreditar que um dia ambos os projetos estarão bem mais próximos no futuro, como pontuou durante uma sessão de perguntas e respostas na LinuxCon de 2011. “No caso dos smartphones, as fabricantes e o próprio Google podem adicionar componentes específicos para os portáteis”, diz Simioni. Geralmente, o foco dos desenvolvedores está em otimizar a estrutura para aprimorar a experiência geral, tirando aquilo que não é necessário para poupar desempenho e espaço, mas essas adições exclusivas não se limitam a isso e, naturalmente, introduzem componentes próprios que não estão incluídas no Linux original. Apesar de diferir de outras distros convencionais do Pinguim, o Android não tem diferenças em código suficientes para distanciar o projeto de sua origem — e nem o Google nega esse fato.
O “Linux do Google”
Assim como o kernel Linux, o Android também é um sistema operacional open source que pode ser reproduzido em outros projetos. Para isso existe o Android Open Source Project (AOSP), o “Android raiz”, disponível para análise, modificação, reprodução e redistribuição sem custo. É o Google, porém, que detém a responsabilidade pela direção estratégica do SO. O comando do Google também distancia o Android padrão do Linux, já que é ele quem dita o fluxo de atualizações, adições e restrições do projeto, não a Linux Foundation — da mesma forma que a Canonical faz com o Ubuntu, vale ressaltar. Por conta disso, o Android é “controlado” pela Gigante das Pesquisas e tal condição implica em certas restrições, como a disponibilidade restrita de bibliotecas e utilitários do SO, algo que é bem comum nesse segmento. A arbitrariedade do Google também é alvo de polêmicas em algumas ocasiões, como acontece na prevista retirada do Android Beam no futuro Android 14. A solução de transferência sem fio, apesar de arcaica, é uma solução aberta para outros desenvolvedores, enquanto a sua alternativa mais moderna, o Nearby Share, é um software proprietário pertencente ao pacote Serviços do Google Mobile (GMS).
Android no PC?
O Linux é um kernel multiplataforma, mas o Android é pensado para incorporar dispositivos com processadores com estrutura ARM. A diferença de arquiteturas entre a CPU de desktop e a CPU de portáteis torna a adaptação do Sistema do Robô para o PC pouco prática, mas longe de ser impossível. Há ao menos três projetos que tentam levar o sistema do Google para o computador tradicional: WayDroid, Android-x86 e PrimeOS. As distros adaptam a interface e levam os aplicativos para o desktop, tentando mitigar o impacto de desempenho ocasionado pelas distinções entre as plataformas. “Você vai ter a interface do Android, os aplicativos do Android, mas vai rodar num PC. A questão é: apps feitos para rodar na arquitetura ARM não vão rodar no desktop, exceto se existir uma camada de compatibilidade”, explicou Diolinux, citando como exemplo o software Rosetta, da Apple, responsável por fazer a ponte entre plataformas e possibilitar que apps construídos para x86 rodem nos processadores da Apple. Por essa razão, o Android não é comum em computadores tradicionais. Existem alternativas melhores escritas sobre o código do Linux para embarcar PCs e notebooks — até mesmo o ChromeOS, outro sistema do Google baseado no Pinguim.
ChromeOS: o “irmão” do Android
O Google oferece uma alternativa baseada em Linux para computadores e notebooks: o ChromeOS. A plataforma da Gigante é uma solução pensada para notebooks com menor desempenho (máquinas mais baratas ou dispositivos híbridos, em que a autonomia de bateria é prioridade), e é quase como um “irmão” do Android. Uma das vantagens mais interessantes do ChromeOS está na compatibilidade com os aplicativos construídos para o Robozinho. Segundo um levantamento divulgado pela Big Tech de Mountain View, programas para Android foram usados 50% vezes mais nos notebooks com o SO da empresa numa comparação ano a ano. Similares ao ChromeOS, há outras soluções baseadas em Linux interessantes para computadores mais humildes. Além disso, se a ideia é optar por algo diferente do Windows, também existem distros mais amigáveis para recém-chegados.