Comment Drivers (Score 2) 157
A lot of the *nix drivers are done by reverse-engineering. I know of a couple of Linmodem driver projects that started with a copy of the binary of the corresponding Winmodem.
Reverse engineering applied in the purpose of getting hardware specs out of the driver is OK with most of the driver companies. The Win/Lin modem manufacturers care mostly about the SP processing algorithms rather than the DSP specs. The problem with reverse engineering for these modems is that together with the hardware specs, there is sufficient information about what SP algorithm they are using that a sufficienly knowledgeable person can reverse engineer everything out of their driver.