What really surprises me is why some people care so much about something being open source. Lets say nvidia did open source their drivers and just completely dropped it on the community and said "here you go, have at it". considering the sheer size of these drivers, i don't know anyone in their right mind who would just go ahead and pick up on a few things there and there that the drivers don't include. seriously, even with the nouveau drivers, how many companies or just average joes actually make contributions? hell even the intel drivers, which are compared to the nvidia blob, are dauntingly gigantic for just anybody to join in.
My point is, some people just want things to be open source just for the sake of it whether there would be any benefit to it at all, with the 1 exception of compiling the software on another platform. Maybe making little tweaks here and there to make a particular program slightly more compatible would be nice too, but 99% of people wouldn't bother doing such a thing on their own time.
From what I gather, the only thing the closed source nvidia drivers need to do is to be perfectly compatible with the kernel, X, wayland, and all other software in the same way that the open source drivers are. I haven't used the nvidia drivers in almost a year but last time I checked, they require their own kernel headers, supply their own glx libraries, and probably more I can't think of. I understand why nvidia is doing this, but for people like linus to be more accepting of nvidia, they need to stop acting like their method is the 1 and only way to get things done. linus doesn't seem to have an issue if someone wants to create closed source software, what he seems to dislike is how it hinders the development of everything else.
The source to the blob may help people reverse engineering the thing, but it's extremely unlikely the freed blob would 'just get included'.
Divide Linux driver into a completely open kernel part and a user space part which communicates with the kernel driver.
1) Your driver will always be compatible with new kernel releases and we won't have to wait for new drivers releases 'cause Linus has once again broken the kernel APIs/ABIs.
2) NVIDIA driver won't be able to make system crash or freeze.
3) You will be able to easily support KMS and implement Optimus.
Originally Posted by Matthew Garrett
Does anyone remember what happened with Creative and the X-Fi driver? They eventually thew their hands up and said here's the specs, you write the code. And the last time I checked X-Fi support was still shoddy on Linux. And that was how many years ago? Anyway, I'm sure I just poked a hornet's nest now. Go on and flame away.
Sounds like a good plan...nvidia should write a reference driver that just exposes the base features of the hardware and the OSS community can then flesh it out and add the other features to make a driver that's solid and does the job well
Nvidia should follow AMD's lead and provide the programming docs so that OSS driver devs can write a complete driver that covers a wide range of nvidia's hardware