1) Nouveau. It is free to use this feature.
2) If nvidia wants to offer this functionality in their blob, they are free to implement it themselves in their userspace driver and advertise its availability for other drivers to use. Somehow, I doubt that anybody would be particularly impressed with this option, though. It would likely go unused.
3) Don't buy nvidia.
Doesn't bode well for Android, unless Google has their own method.
Of course iOS and WinRT won't be encumbered with insanity, so they won't have any problem implementing such a mechanism.
If you modify GPL software, you don't have to redistribute anything. But if you CHOOSE to redistribute, then the resulting code must also be GPL.
You can combine GPL software and proprietary software to your heart's content, as long as you don't distribute the result to others. GPL is a distribution license.
No, GPL is used to ensure that if you receive software, you keep the right to modify and redistribute it under GPL terms. It doesn't say anything about the case where you keep the code for yourself and don't pass it on.The difference is that GPL is used to keep the code open at all times and at all costs.
This is very important, because the "viral" FUD bullshit is based on such false premises. GPL doesn't force you to do anything with your code. It only governs the redistribution of code based on GPL code. If you want to distribute versions of GPLed code, it has to be under the GPL.
Linux success is obviously tied to it's great out-of-the-box support for hardware in all forms which is exactly what their no-binary-drivers-in-kernel-space policy has brought. Again we have NVidia as the last big holdout, and it's discrete gpu heydays are quickly coming to an end on the desktop. Desktop users in general will look on discrete gpu's the way we nowadays snicker at the voodoo architecture which is what nvidia once replaced, as something arcane and obsolete.