Kernel Builders Appeal For Open Source Drivers
snydeq writes "The Linux kernel development community has released a statement emphasizing the need for open source drivers. The statement, signed by 135 developers, is aimed at preventing future vendors from following the closed source path. One holdout cited is Nvidia. The Linux Foundation has also released a statement in support: 'The Linux Foundation recommends that hardware manufacturers provide open source kernel modules. The open source nature of Linux is intrinsic to its success. We encourage manufacturers to work with the kernel community to provide open source kernel modules in order to enable their users and themselves to take advantage of the considerable benefits that Linux makes possible.'"
No the driver doesn't make the difference between high and low end cards. There is always a BIOS change at a minimum (videocards have their own BIOS). There are three reasons why nVidia claims they can't open source their drivers:
1) They incorporate third party proprietary code. This is almost certainly the case. I'm betting that some or maybe even all of it isn't secret, but it is still licensed none the less. That means they'd have to either change the driver to leave those features out and/or rewrite the code themselves which could involve some expensive clean room/dirty room techniques. Remember that they can't play the Xvid game of "Well we don't distribute it compiled so don't need to pay a license." Ya that won't won't work for a company who is providing the code for the clear purpose of making their cards work. They'd get sued (and they'd lose).
2) Their drivers are one of the things that make their cards more attractive than their competition. nVidia and ATi are locked in a major battle for computer marketshare. This is fought in terms of performance, whether raw performance at the high end or performance per dollar in the midrange. They are interested in every advantage they can get over one another. Well those advantages can come in software as well as hardware. For example nVidia has historically had very good OpenGL performance on Windows. All things being equal, an app would run equally well in either. ATi has not, DirectX has always performed better. Well if ATi got at nVidia's source, maybe they'd use those tricks to make their drivers perform better.
3) Special things like PhysX support. Coming out very soon (you can already find betas floating about) for Windows are drivers that will support hardware acceleration of the PhysX physics middleware engine on GeForce 8 and up cards. nVidia bought Ageia and has been working on this. They intend to use it to help move graphics cards. So game devs buy PhysX to handle their physics. Unreal Engine 3 uses it, for example, it is a major competitor to Havok. Well then those games will be able to have special hardwrae accelerated feature if they want... on nVidia cards. You have an ATi card you are out of luck. Of course if they GPL'd all that, ATi could take it and use it. They'd have to release any modifications, but they could still nab all the code and make their cards also do PhysX.
Now I'm not saying any of these are reasons you should agree with, please don't argue with me about them I don't work for nVidia I'm not making the rules. I'm just trying to help you understand why they aren't interested in open sourcing their drivers. With something like a network card or RAID controller, the drivers are generally pretty simple and are just a tool to make the hardware work. Thus there isn't really anything in them to protect and most companies probably wouldn't mind them being open if they really stopped to think about it. Their competitors would gain nothing from selling them anyhow.
That's not the case for GPU drivers. They are a large part of the picture in terms of performance and user experience. Thus improvements to them can give your cards a competitive edge over the others and thus nVidia isn't so interested in releasing them. Hell it can be real simple things sometimes. I used to have an LCD monitor with no scaler controls. What that meant was any image you fed it that was not at its native resolution, it stretched without regard for aspect ratio to full screen. That sort of thing bugs the shit out of me. I want aspect correct scaling. However, it wasn't a problem. nVidia cards can handle that, and I just told my card to do it.
At the time though, ATi cards couldn't (dunno how it stands now). That means that I more or less had to write off ATi so long as I kept that particular monitor. I wanted a feature that only nVidia could deliver. If nVidia's drivers had been open source, well perhaps ATi could have just grabbed the scaling code (it seemed to be driver based, not hardware based) and used it.
So it is a complex situation. I'm not defending nVidia's handling of it, just trying to help you understand why they do as they do.