What are the differences between Debian Linux Kernel and Linux-libre in terms of freedom related issues?
I know the Debian Linux Kernel can load non-free modules while in Linux-libre they have been blacklisted.
You've identified pretty much the only difference: the Debian kernel can load firmware, the Linux-libre kernel can't. Both kernels are free software, even as far as the Free Software Foundation is concerned — the FSF considers the Debian GNU/Linux distribution to be free software as long as no repositories are used beyond the main one; the issue they have with Debian is that Debian hosts non-free repositories on the same infrastructure.
Philosophically speaking, you could consider the difference to be as follows:
Linux-libre is built by running a
deblob script on the kernel source code. This goes through the kernel source code, and makes various firmware-related changes:
firmware/radeon) is removed.
Some extra work goes into Linux-libre to restore functionality in certain cases; for example, the
radeon module is modified so that some
r600-supported cards can still be used, even without firmware. (Look for "Something like this might work on other radeon cards too." in the
The Debian distribution includes one firmware package,
firmware-linux-free; this contains only firmware for which source code is available. The non-free repositories also contain a number of firmware packages built from
firmware-nonfree, but these aren't part of the main distribution.
That is pretty much the main, major and only difference:
linux-libre is the linux kernel with the "firmware binary blobs" removed.
What the FSF calls the firmware blobs are the parts of the linux kernel that are incompatible with the philosophy of free software. Often these pieces of firmware are in binary blobs which does not even come with any kind of source code (i mean, not even macro assembly). The linux libre project is hosted by the FSF at gnu.org but it is not a linux distro. The project is only an effort in cleaning the source code of the kernel, and is distributed as source code
linux-libre kernel is then compiled and shipped by 100% free software linux distros: BLAG, Dragora, Trisquel to cite a few. These distros take their philosophical commitment to distribute only free software, as defined by the FSF.
Debian on the other hand is not committed to distribute only free software as defined by the FSF. Debian's commitment is to the Debian social contract, which ironically has at its first commitment:
- Debian Will Remain 100% Free Software
I'm joking with the irony there. Debian's philosophical commitment is the same as the FSF's, the difference is how Debian defines free software and how the FSF defines free software. The difference between the two groups grew over time, which definition is better is too hard an argument to make. FSF is committed to is own guidelines whilst debian is committed to the guidelines presented in that same document linked above.
According to debian guidelines, less of the linux kernel code is considered not free software. Firmware blobs are not free software and are removed but as a separate effort. The kernel distributed by the debian project is slightly fatter (for lack of a better word).
Note that debian do have
linux-firmware-nonfree which allow users to include several pieces of firmware (some of them blobs) with
apt-get. Distros using
linux-libre do not have such facilities.
Of course, there is the major difference that the
debian project distributes a complete distro, whilst the
linux-libre project distributes code to be used by distros.