Por Marcelo Tavares de Santana [1]
Já houve momentos em que falar de uma distribuição Linux era quase como defender um time de futebol; talvez para alguns ainda seja. Falar de escolha desse ou daquele Linux sempre é um desafio e um risco, ainda mais se não for uma avaliação técnica com números empíricos onde se possa contestar um método sem atingir o avaliador. Mesmo assim, com o lançamento da tua décima segunda edição, vamos tratar do Debian como opção viável para quem está pensando em começar ou mudar de Linux. Se olharmos o gráfico GNU/Linux Distro Timeline [2] notaremos que o Debian é usado como base para um grande número de distribuições Linux, incluindo algumas mais conhecidas como Ubuntu e Mint; atualmente também é a base para o gLinux, a distribuição interna do Google presente em aproximadamente cem mil desktops da empresa, portanto, para os usuários.
A principal característica que leva a um destaque dessa distribuição neste artigo é o fato de ser criada e mantida por uma comunidade, o quê já nos leva a perceber que a auditoria de seus códigos está no domínio de voluntários sem interesses comerciais. Não significa que não tenha empresas, mesmo porque o Debian é bastante patrocinado, e sim que cidadãos estão bem representados nessa comunidade e ficam mais próximos do que chamaríamos de controle social com ótimos processos de transparência. Dando alguns passos atrás, uma distribuição é um conjunto de aplicativos que inclui um sistema operacional e que são distribuídos conjuntamente, seja num CD ou num endereço na Web; nesse sentido o Windows seria uma distribuição também, mas é chamado de sistema operacional no mercado. Todas as distribuições Linux usam um núcleo comum que podem ter algumas configurações distintas a depender da comunidade ou empresa, e que usa o código-fonte do cerne/kernel do Linux como sistema operacional, ou seja, o programa de computador que faz toda a gestão de processamento de software e controle de hardware do computador. Na escolha dessas configurações de kernel pode ocorrer de alguns equipamentos mais antigos perderem suporte e se tornarem inúteis, situação onde creio ser mais difícil de acontecer no Debian pela existência de uma preocupação de sua comunidade com países mais pobres; o que nos daria também a segurança de usar um computador por mais tempo enquanto vai ficando antigo; eu mesmo uso num netbook de 2009.
O Debian 12 trouxe como novidade uma nova organização de seu repositório, separando os firmwares proprietários numa classificação nova chamada non-free-firmware. Mais uma vez dando alguns passos para trás, uma distribuição pode ter os programas divididos em seções e no caso temos um divisão feita por um time que classifica esses programas pelo tipo de licença de uso. São elas:
- main: programas que têm licenças livres;
- contrib: programas livres mas que dependem ou instalam outros proprietários;
- non-free: programas não-livres, proprietários ou com alguma restrição de liberdade;
- non-free-firmware: programas não-livres, proprietários, para funcionamento de hardware.
Quando instalamos o Debian ou alguns desses derivados, essa classificação facilita algumas tomadas de decisão de segurança, por exemplo, podemos escolher executar somente programas da seção ‘main’ e assim tudo que executarmos será com base em software livre. Ou não queremos programas proprietários, mas consideramos aceitável usar firmwares não-livres e assim a escolhe é feita por programas das seções ‘main’ e ‘non-free-firmware’; o que facilitaria fiscalizar se o programa está fazendo algo mais que gerenciar o hardware. Como exemplos de derivados do Debian, o Emmabuntüs [3] é uma distribuição com foco em recondicionar computadores antigos e os doar a associações comunitárias, e o Trisquel [4] é outra que abole qualquer tipo de código proprietário. Vale destacar que as diversas distribuições têm otimizações para determinados propósitos que podem ser feitas no Debian também e às vezes ocorrem adoções de soluções das derivadas pela comunidade do Debian.
Podemos dizer que o ‘ecossistema’ ao redor dessa distribuição a fez ser uma opção viável e reconhecidamente uma das mais seguras e versáteis existentes, indo de equipamentos antigos à Estação Espacial Internacional; sim, é usado no espaço sideral. Uma outra motivação em sem falar do Debian para essa coluna é introduzirmos a manutenibilidade como aspecto de segurança, ou seja, o quanto é viável manter um sistema seguro funcionando tanto pelo aspecto de recursos humanos quanto no financeiro, mas antes vamos tratar do ciclo de desenvolvimento do Debian e sobre o que é uma rolling release. Essa distribuição é dividida em três ramos de desenvolvimento chamados de stable, testing e unstable, em tradução livre estável, testando e instável. Versões de códigos-fontes de programas de computador entram na distribuição sempre pelo ramo instável, o que significa que esse código é confiável no desenvolvedor originário mas para a comunidade Debian ainda é uma novidade. Se o código não apresentar problemas ele é passado para o ramo de teste, portanto, já passou por um controle de qualidade inicial dentro da comunidade e por isso a versão testing já é considerada boa para computadores pessoais. Os códigos, e consequentemente os programas, ficam por volta de dois anos em teste até que seja lançada uma nova versão stable da distribuição, que é considerada adequada tanto para computadores pessoais quanto para computadores servidores.
Nesse processo, os ramos testing e unstable nunca recebem versões, pois estão em contínuo desenvolvimento. Com o ramo testing conta com uma equipe de segurança assim como a versão stable, ele é visto como uma distribuição rolling release por ter uma atualização contínua. Em outras palavras, usando Debian Testing não precisamos nos preocupar com parar o computador para fazer aquela grande atualização de “sistema operacional”, pois praticamente toda semana tem pequenas atualizações a serem feitas; particularmente, entendo que uma vez por mês é uma boa frequência de atualização. Naturalmente, atualizar uma versão em teste pode causar mais problemas que uma estável, no entanto, como softwares livres não passam por processos de obsolescência programada e são corrigidos por muitas pessoas, esses programas ficam cada vez melhores e mais confiáveis mesmo no ramo testing. Portanto, a comunidade Debian (e outras também) faz grandes esforços para classificar os programas, testar e disponibilizar de modo que o usuário possa escolher e manter sistemas duráveis e seguros, e os resultados desses esforços podem ser adotados por qualquer um, para fazer a instalação que precisar seja para computadores pessoais, servidores, dispositivos embarcados, etc.
Os aspectos tratados nesse artigo, como divisão em seções por tipo de licença, suporte a equipamentos antigos, manutenibilidade e controle de qualidade sobre os códigos-fontes também são observados em outras comunidades e distribuições comerciais. No entanto, a abrangência do Debian, sua comunidade, time de segurança e processos de desenvolvimento fazem dessa distribuição um destaque na comunidade do Software Livre. Com a nova seção ‘non-free-firmware’ começou-se também a trazer os firmwares proprietários no instalador da distribuição, deixando para o usuário a liberdade de escolher se quer ou não instalar esse tipo de programa, e facilitando a instalação em mais equipamentos. Seu instalador facilita a criptografia do equipamento e está cada vez mais intuitivo; particularmente acho mais fácil que instalar Windows, mas há quem me declare suspeito.
Apesar de termos tratado mais do Debian neste artigo, considero um aspecto mais importante para escolha de um Linux ter amigos ou comunidade acessível para tirar dúvidas e nos estimular a aprender a usar mais programas livres no nosso dia a dia. Eventualmente a comunidade acessível nem é do SO Linux, pode ser do FreeBSD por exemplo. A distribuição Fedora e sua comunidade são uma ótima opção, apesar da empresa RedHat recentemente decidir parar de oferecer o LibreOffice, para focar equipes em outros projetos, e isso poder afetar o Fedora. O Arch Linux é uma opção interessante para quem quiser ter uma experiência mais hacker, e sua comunidade produz uma excelente documentação técnica que inclusive me ajuda com o Debian em algumas situações.
Para conhecer um pouco mais sobre distribuições Linux, seguem algumas sugestões de estudo:
- Semana 1: pesquise sobre distribuições Linux, inclusive com amigos;
- Semana 2: estude sobre rolling releases e reflita se é uma opção para você;
- Semana 3: analise quanto de esforço é preciso para manter sua infraestrutura de equipamentos e backups;
- Semana 4: repita a Semana 3, essa é uma tarefa mais demorada.
Mesmo para os que já conheciam sobre o assunto deste artigo, é recomendável sempre fazer uma revisão de estudo sobre o quê está acontecendo no movimento do Software Livre, e o principal SO nesse universo.
Bom estudo a todos!
Notas
[1] Professor de Ensino Básico, Técnico e Tecnológico do Instituto Federal de São Paulo.
[2] Disponível em: https://pt.wikipedia.org/wiki/Distribui%C3%A7%C3%A3o_Linux