I too am not very happy with what ATI and Nvidia have done with their binary drivers only.
(curiously, ZNet says:
ZNet has begun to explore the possibility of converting to free software. If you would like to help in this effort, please go to the Free ZNet Project forums, register, and introduce yourself.
and give the link: http://znet.2y.net/zbb/index.php )
It seems that the correct approach for companies that want to make pieces of hardware that offload work from the CPU is for them to create open specifications about how to interface to their hardware — at the system level, and publish these.
DirectX and OpenGL, for instance, are two such specifications. They are unfortunately at the level of C-API, rather than PCI register definitions. As such, they need a driver part for the backend. If the video manufacturers could see their way to making it a higher level interface, there would be many advantages, including an obvious way to run accelerated video over networks.
My company http://www.xelerance.com/ is involved in making a better specification for interfacing to hardware cryptographic accelerators. This is called OpenBSD Cryptographic Framework (OCF), and we are proposing extensions that we call OCF level2. Unfortunately our interface is also at the C-API level, and we have to deal with the question: would we want to permit binary-only drivers?