O kernel Linux em si é todo o software livre, distribuído sob o Licença Pública Geral GNU .
Terceiros podem distribuir drivers de código fechado na forma de módulos de kernel carregáveis. Há algum debate sobre se a GPL permite isso; Linus Torvalds decretou que módulos proprietários são permitidos .
Muitos dispositivos no computador atual contêm um processador e uma pequena quantidade de memória volátil, e precisam de algum código para serem carregados nessa memória volátil para estarem totalmente operacionais. Esse código é chamado de firmware . Observe que a diferença entre um driver e um firmware é que o firmware está sendo executado em um processador diferente. Os fabricantes de firmware geralmente só liberam um blob binário sem fonte de código. Muitas distribuições do Linux empacotam firmware não livre separadamente (ou, em casos extremos, nada), por ex. Deb ian .