I was recently attempting to install Debian, and I noticed it said that my wifi card (a Qualcomm Atheros QCA6174) required nonfree drivers. I was able to find the firmware for these, which turned out to be ath10k. Apparently these drivers are not included in distros like Parabola or Debian (by default) because they are nonfree. However, I noticed that they are part of the Linux kernel source tree (specifically, here). Linux is licensed under GPLv2 and is open source, and as far as I know respects the 4 GNU essential freedoms. So how come the ath10k drivers qualify as nonfree?
The Debian firmware page explains that some hardware with free (as per GPL) drivers requires firmware to operate which is not free. For example, the license for ath10k firmware is incompatible with GPL.
Driver source code is free software and may be included in Linux kernel. However, without the corresponding firmware, the driver may be useless.
In cases like this distributions like Debian may say that the hardware requires non-free firmware to operate.