GNU Linux-libre é um núcleo de sistema operacional e um pacote do Projeto GNU[2] mantido a partir de versões modificadas do núcleo do Linux. O objetivo do projeto é remover do núcleo do Linux qualquer tipo de programa que não inclui seu código-fonte correspondente, tem seu código-fonte ofuscado ou que foi publicado sob uma licença privativa.
As porções que não apresentam código-fonte são denominadas "blobs binários" e são sobretudo compostos de firmware privativo, que, ainda que em geral redistribuíveis, não oferecem ao usuário a liberdade para modificar ou estudar seus componentes. O Linux-libre é um exemplo proeminente de software livre.
História
O núcleo Linux começou a incluir blobs binários em 1996.[3] O esforço para removê-los começou em 2006 com as ferramentas "find-firmware" e "gen-kernel" da distribuição GNU gNewSense. Esta tarefa foi levada adiante pela distribuição BLAG em 2007 com o script "deblob", e assim o Linux-libre nasceu.[4][5]
O processo de remoção faz uso de um script chamado "deblob-main".[8] Este script é inspirado no que é utilizado pelo gNewSense. Jeff Moe fez modificações subsequentes para atingir certos requerimentos e assim permitir o uso pela distribuição BLAG. Há ainda outro script nomeado "deblob-check",[9] que verifica se o arquivo do núcleo ou um patch ainda contém software que suspeita-se ser privativo.
Efeitos
Além do efeito primário desejado de rodar um sistema usando apenas software livre, as consequências práticas da remoção de firmware privativo de dispositivos tem efeitos positivos e negativos.
As vantagens incluem a extração de programas que não podem ser nem auditados em busca de bugs, vulnerabilidades e operações maliciosas (como backdoors), nem consertados pelos desenvolvedores do núcleo do Linux. É factível que o sistema inteiro seja comprometido por conta de um único programa malicioso no firmware, e sem a possibilidade de realizar uma auditoria no firmware provido pelo fabricante, mesmo um pequeno bug pode minar a segurança do sistema.[10]
Por outro lado, a remoção de firmware privativo do núcleo acarreta em perda de funcionalidade em certas máquinas ou em periféricos se não houver um substituto livre disponível. Este problema afeta certas placas de som, vídeo, rede, sintonizadores de televisão e outros aparatos. Quando possível, um firmware substituto é utilizado,[11] como as placas de rede sem fio ath5k e ath9k.[12]
Disponibilidade
O código-fonte e os pacotes pré-compilados do núcleo do Linux sem blobs estão disponíveis diretamente das distribuições que usam os scripts do Linux-libre. O subprojeto Freed-ora prepara e mantém pacotes RPM baseados no núcleo do Fedora.[13] Há também pacotes pré-compilados para Debian[14] e distribuições derivadas como Ubuntu.[15]
Distribuições
Distribuições nas quais o GNU Linux-libre é o núcleo padrão utilizado:
↑Free Software Foundation. «Linux (BLOB free version)». Free Software Directory. Consultado em 6 de dezembro de 2011. [...] in the interest of freedom, we are providing a link to a version of the kernel in which this proprietary code has been removed so that it is entirely free software
↑Fundação Software Livre América Latina. «Linux-libre's Freed-ora project». Freed-ora is a sub-project that prepares and maintains 100% Free RPMs that track Fedora's non-Free kernels
↑Millan, Robert (23 de abril de 2009). «Linux-libre for Debian Lenny». [Debian Mailing Lists] Announcements for developers (Lista de grupo de correio). Consultado em 12 de maio de 2009. This is to announce that Debian packages of Linux-libre [...] are now available for Lenny users who want to use them [...]
↑«Dragora overview». Consultado em 15 de agosto de 2015. Arquivado do original em 4 de fevereiro de 2014 dragora.org
↑jaromil (10 de setembro de 2008). «[LAT] hello, dyne:bolic -rt and freeeee». [Fundación Software Libre América Latina] Linux-audio-tuning (Lista de grupo de correio). Consultado em 6 de dezembro de 2011