Por que o kernel do linux usa o código linux-libre para se livrar dos blobs binários?

9

Eu faço essa pergunta porque estou curioso para saber se há algum tipo de vantagem de desempenho oferecida pelos blobs binários que estão no kernel do Linux.

Como muitos desses blobs foram substituídos pelo código no linux-libre, por que esse mesmo código não foi incorporado ao kernel do Linux em kernel.org?

oadams
fonte
Embora eu acredite que a sua pergunta é legítima pergunta que se as respostas são legitimamente ontopic
xenoterracide
Em poucas palavras que eles provavelmente não são mais rápidos e estão lá simplesmente para substituir código proprietário, a fim de tornar o kernel mais puro em sua ness código aberto
xenoterracide
@ xeno: Eu tentei escrever uma resposta imparcial para isso. Deixe-me saber se você pensa se ele se pergunta fora do tópico e eu o editarei.
Steven D

Respostas:

14

O projeto Linux-libre é uma extensão dos esforços de distribuições destinadas a pessoas que desejam usar sistemas operacionais totalmente gratuitos , conforme definido pela Free Software Foundation .

Atualmente, é mantido pela FSFLA , a Fundação Latino-Americana de Software Livre.

De acordo com a página sobre do projeto:

Linux-libre é um projeto para manter e publicar distribuições 100% gratuitas do Linux, adequadas para uso em distribuições livres do sistema, removendo software incluído sem código fonte, com código fonte ofuscado ou oculto, sob licenças que não sejam de software livre, que não permite alterar o software para que ele faça o que você deseja, e isso induz ou requer a instalação de partes adicionais de software não-livre.

Uma leitura rápida da versão mais recente do script "deblobbing" mostra que ele remove principalmente os blobs binários e alguma documentação. Em muitos casos, os blobs binários são drivers de hardware e firmware para hardware. Firmware é um código que precisa ser carregado no próprio dispositivo e geralmente é necessário mesmo quando existe um driver de software livre.

Tanto quanto eu entendo, não há nenhum benefício de desempenho claro a partir destes blobs (embora, sem eles, muitas pessoas teriam nenhuma performance) e a maioria dos desenvolvedores do kernel gostaria de substituí-los com bem escrito, código livre.

Na sua pergunta, você alega que "muitos desses blobs foram substituídos por código no linux-libre" e pergunta por que esse código não foi aceito. Na minha leitura dos scripts, pude ver muito pouco código que foi substituído. Em vez disso, a maioria do script está removendo o código. O código adicionado destina-se a "substituir as solicitações de firmware não Livre por mensagens que informam aos usuários que o hardware em questão é uma armadilha". ( Lançamento do Linux Libre Release )

Se você tiver um código específico em mente, mencione-o na sua pergunta. A maioria dos patches para Linux é discutida na Lista de discussão do kernel do Linux ou em uma das muitas listas específicas de subsistemas . Muitas vezes, os motivos da não inclusão podem ser encontrados pesquisando nessas listas.

Steven D
fonte
2
O ponto mais importante é que o Linux-libre remove a funcionalidade. Você pode escolher entre software de código aberto totalmente compatível com menos dispositivos (Linux-libre) e software de código parcialmente fechado que suporta mais dispositivos (o kernel da linha principal).
Gilles 'SO- stop be evil'
Eu apenas presumi que os blobs seriam substituídos por um código funcionalmente equivalente. Má suposição.
Oadams
4
@Gilles, a escolha é entre software livre e "software de código parcialmente fechado". Não é apenas "código aberto". O campo de código aberto não busca a liberdade do usuário, que é o principal motivo da existência do Linux-libre. Portanto, o ponto é que o Linux-libre remove a funcionalidade, mas considera fazer isso um avanço ético, já que a liberdade é um requisito ético. Mais informações: gnu.org/philosophy/open-source-misses-the-point.html
Fernando Briano
11
@Fernando: Como essa não é a primeira vez que aparece… No meu comentário acima, eu uso “código aberto” como um sinônimo menos prolixo e mais compreensível de “software livre como em 'liberdade de expressão'” (quanto menor a expressão “software livre” é freqüentemente entendida como significando software com um preço de 0). A diferença entre essas duas expressões é irrelevante para responder à pergunta neste tópico e fora do tópico neste site.
Gilles 'SO- stop be evil'