They have clear definitions: driver is the code running on the main CPU.
There are drivers in the kernel (DRM: direct rendering manager; radeon), X
server (DDX; xf86-video-ati), Mesa (DRI; e.g. r600g). Firmware and microcode
are different words for the same (Linux calls it firmware, developers and
documentation microcode): code uploaded by the kernel driver and run on the
GPU.
The "open source" drivers have no nonfree code running on the main CPU
(except for code stored in the VGA ROM: AtomBIOS), unlike the fully nonfree
driver that AMD develops too. This leads to confusing claims as if no
nonfree code was used for 3D acceleration on Radeons.
There were some improvements: xf86-video-radeonhd worked nearly without the
VGA ROM, not running AtomBIOS code, there was more documentation available
for these purposes then. AMD worked against this.