Direitos autorais, patentes e outros problemas de propriedade intelectual são a causa principal. Os fabricantes de hardware não divulgam detalhes completos, mas fornecerão um blob binário. Infelizmente, o funcionamento interno do kernel não é exatamente estável, então, para cada versão, o blob binário precisa ser atualizado. Fornecer atualizações não gera receita adicional para o fabricante, então, por que pagar um engenheiro de software para fazer alterações o tempo todo? Mesmo problema com os antigos módulos de kernel VMWare (pelo menos eles estavam abertos e podem ser corrigidos) e drivers fornecidos pela NVidia para suas placas de vídeo.
Linus disse que não se preocupa com uma interface interna estável. Se os fabricantes de hardware quiserem que suas coisas sempre funcionem, eles devem abrir o código e deixá-lo integrado na árvore principal do kernel ... aqui está um post (antigo) legal escrito por Greg Kroah-Hartman kroah.com/log/linux /stable_api_nonsense.html