Falar sobre distribuições Linux não é tão simples, em especial quando gostamos muito do assunto ou temos essa, ou aquela distribuição preferida. No entanto, não é incomum ler ou ver questionamento em torno das distribuições, se diferem ou não, o que elas possuem em comum, e o que fazem umas terem mais aceitação do público do que outras. Hoje, vamos entender um pouco deste universo Linux que é sempre alvo de perguntas e muitas vezes sem respostas.
As distribuições Linux são iguais?
Não, mesmo levando em consideração que todas compartilham o mesmo kernel, elas não são iguais. Primeiro é importante dizer que quando falamos de Linux estamos falando apenas do kernel, e quando falamos de GNU estamos falando de todo o resto do sistema, como aplicações, ambientes e etc.
Cada distribuição possui sua equipe de desenvolvedores, suas filosofias, visão e missão, e seria preciso anos para citar cada item desses aqui. Existem distribuições para servidores, desktops, ARM, Raspberry Pi, dispositivos móveis, internet das coisas e outros nichos tecnológicos onde já foi detectado a possibilidade de uso do GNU/Linux neles.
Cada distribuições determina como vai funcionar o desenvolvimento e o empacotamento. Empacotar basicamente é pegar um código fonte disponível de uma aplicação e torná-la um .deb ou .rpm por exemplo, claro, existem vários tipos de pacotes, citei apenas os mais populares.
Agora que você já compreendeu sobre desenvolvimento, saiba que há também outros fatores determinantes. Uma equipe cuida dos erros, ou bugs como é comumente chamado e conhecido. Os erros são corrigidos e cada distribuições possui critérios para liberar aquele pacote como estável ou não.
Há uma espécie de check list ou lista de bloqueio, isso podemos ver claramente no Fedora ou Debian, essa checagem é feita em todos os pacotes, e se houver erros que possam influenciar em outras aplicações, o pacote pode não ser liberado.
O Debian é uma das distribuições mais rígidas, só são liberados pacotes que possuam o mínimo risco de erros ou falhas, o mínimo mesmo. Diante deste cuidado, há uma imagem de pacotes velhos ou obsoletos, mas na verdade são pacotes estáveis.
Diante do exposto, observe que o Ubuntu utiliza os pacotes do Debian instável, ou seja, os erros e falhas que o projeto Debian não deixa passar, o Ubuntu dá uma outra perspectiva em torno destes erros.
Equação lógica de desenvolvimento e falhas
Para ficar mais claro, vamos compreender uma equação lógica. Digamos que eu tenho duas aplicações X e Y e que ambas dependem da biblioteca Z, no entanto, a aplicação X depende da versão 0.1 da biblioteca Z e Y depende da versão 0.2 perceba que há um problema de compatibilidade.
Mas, a distribuição L prefere manter a biblioteca Z na versão 0.1 pois é mais estável e confiável, já que o seu lançamento já possui algum tempo, neste caso será visto uma versão anterior da aplicação Y que suporte ainda a Z em sua versão 0.1.
A partir daí, vem a ideia de pacote velho, antigo ou seja lá qual for adjetivo que se queira usar. Eis que surge a distribuição M e diz que vou pegar os pacotes da distribuição L, e caso haja um conflito de dependências, vou pedir para que meus desenvolvedores antes do empacotamento tente fazer uma correção. A ideia central geralmente é que ambas funcionem com a mesma versão, eis que começa um dilema, pois às vezes, eu disse às vezes, isso pode desencadear um problema em outra dependência e aí começa aqueles erros chatos que demora um pouco mais para correção.
Observe que no cenário acima temos duas distribuições, uma que pega o pacote original e empacota, e outra que pega os pacotes mais recentes e tenta ajustar através de patchs (correções) para que tudo funcione adequadamente. Mas, entenda que é apenas um exemplo, existem outros itens que podem causar instabilidade no sistema.
Mudança em pacotes realizadas pela distribuição Linux
Nada proíbe as distribuições em pegar o código fonte do Linux Kernel por exemplo, e adicionar drivers ou fazer modificações para que deixe a sua distribuição mais otimizada, isso requer uma equipe boa e muitos testes, mas algumas distribuições fazem isso.
Como também, existe ao contrário. Algumas distribuições pegam somente o patch de mudanças da versão, e aplicam sobre um pacote em versão anterior. E inclusive já vi isso sendo feito com o LibreOffice, a TDF disponibiliza o pacote fonte e algumas distribuições pegam o mesmo código fazem modificações e a aplicação por sua vez não fica igual à estabilidade garantida do LibreOffice. É por este motivo que a TDF, por exemplo, pede que os usuários instalem o pacote diretamente de seus repositórios.
E aí temos um conjunto de pacotes enraizados, a partir do Linux Kernel até toda estrutura de versionamento de aplicações. Cada um com suas modificações e considerações. Nenhuma é igual a outra, mesmo as distribuições baseadas em outra são diferentes por N motivos.
Foco das distribuições Linux
Agora, vamos para o mérito de foco, perceba que haverá distribuições focadas em empresas, usuários finais, games, profissionais de segurança, desenvolvedores, produtores de conteúdo e outros nichos de interesses. Também há aquelas que vão para o filtro de licenciamento, e que se dividem em software livre, código aberto e proprietário.
Perceba que são muitas diferenças e misturas, e que no fim, somente o usuário pode avaliar e escolher a melhor distribuição. E não adianta ir pela conversa do amigo. Observe que existem muitos tipos de hardwares sendo vendidos no mercado. Mas, digamos que o seu grande amigo consultor Linux, use uma placa de vídeo Intel e você Nvidia, ele vai dizer para você que não há nenhum problema, que a distribuição L funciona perfeitamente.
No entanto, você segue o conselho do seu grande amigo e resolver instalar, logo percebe que falta o driver Nvidia, ou porque a distribuição não o possui por ser driver proprietário ou porque não há driver disponível para Linux para a versão de sua placa.
Então, começa um dilema, o que fazer agora? Normalmente as pessoas se frustam e caem matando na equipe da distribuição, mas não compreendem a realidade dos fatos, os desenvolvedores não podem alterar um código proprietário, tudo tem que ser fornecido pela Nvidia.
Sabemos que existe o driver Mesa, e que em vários casos faz com que determinadas placas cujo driver é proprietário funcione, pois é, o Mesa é de código aberto, e geralmente para se produzir um driver compatível com a Nvidia e outros fabricantes proprietários é preciso de testes e também engenharia reversa, e isso leva muito tempo.
Acima vimos um exemplo, mas também pode ser a realidade de muitos, e não é só placas de vídeo, pode ocorrer com placa de rede, Wi-fi e muitos outros tipos de hardware. Então, é bom termos em mente que somente os testes podem dar um retorno ao usuário, e também, se for de interesse do usuário, pode pedir ajuda em fóruns, grupos para contornar problemas deste tipo.
Conclusões finais e convite
Perceba que é vasta a gama de diferenças, é muito detalhe envolvido. Mas, que todas possuem suas particularidades o que podem atrair ou afastar o usuário. Pensando nisso, fizemos alguns posts que pode ajudar você a ter mais autonomia ou um norte para escolher uma distribuição.
O primeiro artigo, trata da apresentação de algumas distribuições Linux e seus usuários alvo, temos também as distribuições minimalistas e por fim, as melhores distribuições para você testar, algumas informações que podem te ajudar a escolher uma distribuições para o seu uso.
Esperamos ter ajudado, caso seja de seu interesse, deixe nos comentários a sua distribuição atual e também se consegue usá-la em algum hardware proprietário sem sucesso. Outros usuários podem precisar desta informação, e a nossa intenção é ajudar na medida possível.
Caso precise de ajuda e suporte, recomendamos entrar em nosso grupo no Telegram. Já somos mais de 1000 usuários que podem ajudá-lo, tenha o Telegram instalado no seu smartphone ou desktop e busque por @sitesempreupdate.