NVidia - generally good for consumers, but if you have ever dealt with them as an outside developer trying to get their drivers to work for your code, you will be frustrated in the extreme. I won't go into it any further, but when I saw the feed from the Aalto University seminar, I nearly jumped out of my seat cheering when Linus had the BALLS to drop the F-bomb and fly the bird for NVidia.
IJustWantToPost9, while i agree with your statement with regards to Linux APIs and general framework, but you will get this when you have an FOSS operating system and every distro seems to develop to its own standard for anything outside the kernel. What Linus was upset about was NVidia's recalcitrance to do anything about allowing the development community to fix longstanding support issues with regards to some NVidia kit, most notably the Optimus chipset.
Yes, Linux has bugs. Yes, it can get somplicated at times, especially when some other developer has dropped his spaghetti right in the middle of where you need to work. But there are standards, just not the ones that are rigid and set in stone like Mac OS X, or wishy-washy like Windows. They are more like recommendations, since telling FOSS developers what to do is like herding cats.
FWIW, I have had better luck submitting bugs and change requests to ANY FOSS project than I have EVER had when submitting bugs to NVidia.