Você identificou praticamente a única diferença: o kernel do Debian pode carregar firmware, o kernel Linux-libre não pode. Ambos os kernels são software livre, mesmo no que diz respeito à Free Software Foundation - a FSF considera que a distribuição Debian GNU / Linux é software livre contanto que nenhum repositório seja usado além do principal; o problema que eles têm com o Debian é que o Debian hospeda repositórios não-livres na mesma infraestrutura.
Filosoficamente falando, você pode considerar a diferença como segue:
- o kernel do Debian não inclui qualquer firmware não-livre (bugs à parte), mas permite que os usuários carreguem firmware não-livre, se desejarem;
- o kernel Linux-libre não inclui nenhum firmware não-livre ou algo parecido com firmware, e impede que os usuários carreguem firmware não-livre, mesmo que desejem fazê-lo.
O Linux-libre é construído executando um deblob
script no código-fonte do kernel. Isso passa pelo código-fonte do kernel e faz várias alterações relacionadas ao firmware:
- qualquer firmware para o qual o código-fonte está disponível é preservado, mas o script garante que o código-fonte esteja disponível;
- qualquer módulo que exija firmware é destituído da capacidade de carregar o firmware;
- qualquer código-fonte que se pareça com firmware (seqüências de números) é removido;
- qualquer arquivo contendo apenas firmware ( por exemplo, o conteúdo de
firmware/radeon
) é removido.
Algum trabalho extra vai para o Linux-libre para restaurar a funcionalidade em certos casos; por exemplo, o módulo radeon
é modificado para que alguns cartões r600
-supported ainda possam ser usados, mesmo sem firmware. (Procure por "Algo como isso pode funcionar em outros cartões Radeon também." No deblob
script.)
A distribuição Debian inclui um pacote de firmware, firmware-linux-free
; isso contém apenas o firmware para o qual o código-fonte está disponível. Os repositórios não-livres também contêm vários pacotes de firmware criados a partir de firmware-nonfree
, mas estes não fazem parte da distribuição principal.