This article describes what the file blacklist.txt does and what it does not do.
1 History and Rationale
To achieve a fully libre mirror of ArchLinux, we needed to sync every package but filter out the non-libre ones. We decided to make a blacklist of these non-libre packages and put it in a single plain text file, which would serve as an exclusion list for the rsync script.
Some of us took the job of identifying non-libre packages by their licenses and/or license conflicts, and we finished it with joy :-P .
blacklist.txt contains the $pkgname (package names) of non-libre packages that are on Arch Linux's repos but shouldn't be on ours. Take note some of them are replaced by ours when we can find a libre replacement (i.e. kernel26 => kernel26-libre, firefox => icecat).
3 Reporting an issue
Choose the project responsible for it, nearly always Packages, and report an issue with the "Freedom issue" type and priority. Report separate issues for appropriate projects if the package is included with installation media.
4 Frequently Asked Questions
4.1 Why is kernel26 blacklisted?
Because the vanilla Linux comes with a lot of firmware blobs inside its source code. You can read the Linux-libre web site for more information.
4.2 Why is grub blacklisted?
To re-brand it and remove the Windows boot config from the configuration file.