Why do some drivers still require firmware?

view full story

http://unix.stackexchange.com – There are a ton of reverse-engineered drivers in the Linux kernel tree. Yet some drivers, especially wireless drivers, require firmware binary blobs to run properly. What prevents someone from reverse-engineering these, too, and making the driver 100% free? Or is it different for different drivers? (HowTos)