By money I wasn't referring to GPL'd code. It is also possible to write drivers from scratch. Of course to do this you need to beable to feed yourself too, hence the money bit. Any company could employee someone to write drivers for devices if the demand exists. This is as true for USB as it is for PCI.
Julians point is good. From what I understand BSD code can be modified without having to release the modified source. Of course either option is smarter than developing a new API that requires development of drivers from scratch.