The current Linux kernel driver directory, with ALL drivers installed, including the restricted, proprietary drivers is 113M. That's about 470 drivers.
The typical Linux driver is between 20K and 200K.
A typical Windows driver is dozens or hundreds of megabytes. THAT's what is decried as bloat.
Actually most Windows drivers are pretty small, in the same range as Linux drivers. The difference is that with Windows the company will also generally ship some sort of configuration utility (which 99% of the time is completely useless) which has all that GUI overhead and gives you megabytes of stuff. But the ACTUAL driver, the part that’s needed, is tiny.
And drivers are from the manufacturer. Is it MS’ fault for the size of HP’s printer drivers?
The stock drivers (generic) that ship with XP or Vista are about the same size - 150-200K. It’s the ones from the manufacturers directly that are huge.
The beef over driver size should be with the device makers, not Microsoft.