I can immediately think of at least three solutions that would still offer choice to the users.
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.
GPL is what is called "copyleft". It uses copyright laws to enforce the license. It's pretty much the polar opposite of traditional copyright, but the enforcement is just as strict. For instance, under traditional copyright, people must not redistribute the copyright work. Under GPL, people must redistribute the copyright work. If someone redistributes something that is under traditional copyright, authors can and will sue them. If someone doesn't redistribute something that is under a strong copyleft, authors can and will sue them. So yes, GPL is strict and it is a way to control and manipulate. The difference is that GPL is used to keep the code open at all times and at all costs.
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.
No no no.
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 has had these exact policies all this time and yet Android is the best-selling smartphone OS in the world and nexus 7 is bound to have made Android a good dent in the tablet space, so much for being 'encumbered with insanity'. If Google needs to provide such a 'method' for proprietary drivers then yes, they are fully capable of implementing this, it won't be a 'problem'. Your continued trolling of 'oh god, if Linux doesn't make it easy for proprietary drivers it will fail anytime now' is as hollow as it ever was (and yet you keep on repeating the same bs like a broken record, it's almost as if you had an agenda...).
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.