I'll agree with your first sentence but for completely different reasons. Also, i pretty much disagree with everything else. While Windows 7 is much better than 98 or 2000, I think it's not much better than XP. At work I got a memory upgrade on my Win7 machine from 8GB to 32GB and my quad-core computer slowed down noticably. IT is confused and there's nothing special on that computer. (These are competent guys, not outsourced-help desk folks 8000 miles away who just follow scripts.) My only guess is that Win7 has a memory 'sweet spot' and performance suffers if not in that sweet spot. I've had win7 blue screen twice on me and apps mysteriously hang for a few seconds very regularly. The machine is not heavily loaded and IO isn't excessive. It's extremely annoying. I'm not a fan of Win7 at all. But it's what the corporate IT dictates so I use it. IE has gotten better, but honestly I still prefer firefox as I think it performs better.
Even now, in day to day usage, a Windows box, cannot handle the load that a linux box can. Granted you did say non-technical, but I've seen non-techinical people load a box pretty well, so I don't consider them the same thing.
Linux will never be big on the desktop for entirely different reasons. Vista proved it and Win8 will reinforce that.
Linux devs don't care about the actual desktop. They care about reinventing plumbing...all the damn time. They will spend weeks or months debating and arguing about "python vs perl" rather than "Hmmm, is a button that does X useful?) Actually, the usability people seem to have a disproportionate say in things now. "We have 3 menu items, what functionalty can we deem 'too confusing' and therefore rip out of the app so we don't need a menu.?
I'm hoping this usability is like when fonts first came out in the 90s. People went overboard for about 5 years before sanity returned. I'm wanting to believe that in a couple more years the usability folks will have gotten all this crap out of their system and return from the land of whatthefuckistan.
Printing and CUPS were miles ahead of what Microsoft, or Apple provided, but they sat on their heels and it stagnated. MS and Apple both caught up and passed it. (Apple has done great things with CUPS, but Linux devs and vendors haven't done anything.)
Lennart Poettering is a good example of the normal mentality of Linux devs. They'll work on something they think is cool, then when it starts to get usable, ~70% done, they get bored and move on to something new, leaving it to others to maintain or die on the vine.
Sound is still a joke compared to Apple or MS. Pulseaudio for all it's warts is/was at least something. A common audio. Excellent goal(!!!) and it got some traction. But Lennart got 80% there and decided to go work on something else, it almost immediately stagnated and stalled out. (Yes, I still check the forums periodically. I'm comfortable saying there's not much work on that 20% being done.)
systemd is a pain in the ass compared to the old init scripts. If for no other reason, that it's very different and a lot of distros don't have backward compatibility, IE, simple init scripts that call systemd commands. Then he moved onto that stupid binary logfile crap rather than using the little used and semi-broken functionality in syslog to accomplish the same damn goal. syslogd, syslog-ng, gsyslog (forgot the name of the 3rd syslog variant). all little tweaks trying to accomplish slightly different goals because every g*dd*mn linux dev wants to rewrite a common tool because they know better, or will do it better without certain mistakes.
network-manager (lots of work on wierd edge cases, but little work into normal common things and you have to go through dbus commands to do anything), wicd (because enough people hate network-manager)
gnome-2, gnome-3, unity, mate, for Christ's sake.
printing still sucks butt on KDE. It's still behind where it was on kde3. ;(
But everyone wants to keep rewriting infrastructure and plumbing. Also, touch interfaces! (but that's a seperate topic.)
Linux will never be popular on the desktop because there are so many slightly different, slighly incompatibilities that avg people get sick of it. I've been using linux since ~95 and I'm sick of Linux devs. Maybe I'm just getting old, but I'm to the point where I want stuff to work. I'll take solid and working over shiny 9 days out of 10.
Linux does extremely well on the servers, in huge part I think, because it's not 'sexy' and therefore these plumber-wannabes stay out of that arena. Can you imagine if we had bash, bash-ng, kbash, zsh-ng,zsh-cool, zsh-lite, dzsh, top, top-ng, top-d, ps, ps-ng, ps-d, awk, gawk, ng-awk, gd-awk, glibc, glibc-ng, glibc-gd, etc? linux would have 0.1% server share.
I don't know the breakdown of paid devs vs volunteer contributors. I can't rag on volunteers for just working on cool and shiny things that interest them, but I don't have to say "wow, awesome job reinventing the wheel like the 30 people before you and the 10 others parallel to you"
To anyone reading this and wanting to put words in my mouth, let me stop you in advance.
I'm not saying everythign should be only one way of doing things, but having 6 ways that sorta-work, seems less effective and beneficial than 2 or 3 ways that actually work.
(not directed at you Billy Gates.)
To anyone who considers themselves a linux developer: I'm talking to you. Please think about what I'm trying to say here, and don't be a douchebag and get stuck on grammar mistakes. (If you think grammar or spelling mistakes reflect a point's validity, then you're a pedantic holier-than-thou tool.) I care quite a lot about linux but am growing weary over the years.