En fait j'ai vu avec elite_2009 par mp qui m'a contacté et mieux expliqué le truc.
Je me permets de citer son message car ça pourrait en intéresser d'autres :
«le kernel de linux c'est 100% libre. le code fermer ne peux etre directement inclus dans le kernel mais executer par un module qui lui doit etre ouvert.
kernel(GPL) -> module(LGPL) -> binary blob (ne peux etre compiler dans le kernel)
par exemple fglrx_dri.so du pilote amd est fermer. il ne peux etre inclus dans le kernel. cependant le module fglx qui est lui est libre utilise ce fichier. de ce fait le code fermer reste en dehors du kernel.
quant aux firmwares c'est du code qui n'est pas execute par le kernel mais charger dans un appareil. libre a qui veux de les compiler dans le kernel ou a part. par defaut(vanilla) ils ne sont pas compiler. la plupart des distributions avec un kernel precompiler prefere les inclure dedans car ils sont indispensables quoi qu’on dise.»
Ce qui m'avait surtout fait douter, d'où ma question, c'est à cause du noyau linux-libre.
Et d'ailleurs pour affirmer les propos de elite_2009, j'ai trouvé ça sur le forum d'Arch ( http://forums.archlinux.fr/post34014.html?sid=2a155cb52c201999002fe982dca1e45c#p34014 ) :
«Le kernel a été séparé en 2 paquets, le libre et le proprio.
pacman -R kernel26-firmware et tu as un noyau 100% libre» 
Le post date de 3 ans, maintenant c'est "pacman -R linux-firmware".