First I hope this doesn't lead to another opensource flamewar
Nvidia uses a crossplatform architecture in which about 90% of the code is shared between all platforms. In the case of the kernel module the "opensource" part is the "glue" and for the rest the binary part of it, is that crossplatform stuff. In the case of the 2d driver I'm not sure if much is shared as X works differently with some things. In case of the opengl part ofcourse a lot is shared as allmost all those gl calls exist on both platforms with the exception of some GLX specific ones.
Opening the drivers would mean revealing the source code to not just their Linux drivers but also to Windows, OSX, FreeBSD and drivers for some other OSes they have "secret" drivers for. Even if you have the source fixing bugs is VERY difficult if you don't have hardware docs. Even if you have those it is still hard if you aren't an nvidia employee.