Haven't I heard something analogical before? That'd be... let's see... Wine myth.. #2?
I know of this, and I agree that Wine is a good thing(Otherwise I wouldn't read this list and do any development)
But in my opinion, there's a difference in that matter between Applications and Drivers. An application is just something, that sits on top of my Linux installation, while a driver is part of really low-level things.
There will always be some obscure cards whose manufacturers just don't care about Linux.
That is true, I cannot deny it. But how many Windows only applications are there, and how much Windows-only hardware is out there?
I have started a discussion like this on ndiswrapper-devel some time ago, it was about writing a general windows device driver wrapper. No one had a answer wheter such a thing was bad for Linux[1], but the suggestion was dropped because it was too much work for relatively few devices.
(The situation why ndiswrapper came into existance was that there was a really high percentatge of unsupported wlan cards, perhaps due to FCC regulations. The FCC states that those cards may only use a certain frequency with a limited power level. Many cards have this control implemented in the driver, so the manufacturers where not allowed to publish an open source driver or the cards specs. And writing a binary only Linux device driver is not comparable to writing a closed-source Linux app. For example, the madwifi driver is basically open source, but it contains a binary only HAL module. The author of the driver wrote this module, but he was told that he wasn't allowed to release the source.)
It is different on the application side: Publishing a binary-only app is not magic, you don't need some open-source glue around the binary module and partially recombile the driver against 1001 different kernel versions - So companies to not have the pressure to release their sources(which many do not like). And it's much more likely that you need one specific application, than to need one specific device. It's easier to change an unsupported graphics card than to find a 100% compatible program to Microsoft Access. Windows users often go to the shop and by a replacement device, if the one they have doesn't work out of the box, although they could just download a driver, which is faster and cheaper.
Furthermore there's a dependency problem: If I run a Windows application in Linux, there's no problem to terminate that application, the rest of the system will still run. If I have a device driver, I won't be able to use my Linux system without that piece of Win32 code. In such a situation Microsoft might argue that we aren't even able to boot our OS without their code.
(-: Are you going to betray everyone that doesn't buy from Nvidia and ATI? :-)
Just out of curiosity: Can you name any graphics card which doesn't have a Linux driver? I haven't seen such a device yet.
Relying on Windows drivers would, on the oder hand, betray anyone who is not using x86 hardware.
Stefan
[1]: It turned out that there are some Wlan device manufacturers which deny to write Linux drivers and tell Linux users to use the Win32 driver and Ndiswrapper. It was said that there was even one company which stopped their Linux driver development due to ndiswrapper. On the other hand, the Linux wlan driver situation is not as bad as it was 2 years ago: Drivers were released for the Intel pro/wireless cards(Centrino!), the realtek wlan chip and others. The only chip that needs ndiswrapper that I know is the broadcom chip, and there's a reverse engineering in progress. One curiosity about the broadcom chip: There is a Linux driver, it's used in a wireless lan access point which uses Linux. I don't know why Broadcom didn't release their driver.