"The developers were all developing for something that wasn't the desktop. They had all been employed by big name manufacturers who couldn't care less about the desktop (and still don't) but want their last 1% on their database benchmark or throughput benchmark or whatever."
It's surprising that anyone thinks it could be different. The people paying for Windows and Mac are the consumer. They benefit because Microsoft an Apple get more money if they serve their customers better. If a bunch of companies that need database or server performance are the main ones behind Linux, where could you possibly expect the improvements to come except in the server workloads?
I bet it's more than 75%. I bet there are plenty of companies that send in patches from anonymous email accounts so as to not give away to their competitors what they are currently working on.
A further instance of the type of behaviour you discuss: There has been more than a few times where there "just happened to be a new OSS project" or "new patch to $FOO" covering the use cases my bosses were talking about. Without such behaviour by me and mine, we would find ourselves re-implementing perfectly good OSS projects for one little change all the time.
Also, academics are frequently "paid to play" in essence, so the contributions from them should prolly count.
I think it is more of a response to "linux is a hobbyist OS". If 75% of the people who get paid to work on it are doing so for money, that would refute certain toy-based arguments.
Even were this true, you'll find they will work infinitely better than those lines not written by benevolent contributors working for free.
This is where the rubber meets the road... getting paid is a surprisingly effective motivator for a lot of people. And if the task is somewhat critical for your work, you'd probably give it a good shot to make it work effectively as opposed to just working.
A criticism of Linux is that the kernel is largely developed on behalf of companies who care about certain use-cases over others.
This interview is quite insightful. It's with Con Kalivas, about why he quit as a kernel developer after trying to improve desktop performance:
http://apcmag.com/interview_with_con_kolivas_part_1_computin...
"The developers were all developing for something that wasn't the desktop. They had all been employed by big name manufacturers who couldn't care less about the desktop (and still don't) but want their last 1% on their database benchmark or throughput benchmark or whatever."