linux on the desktop has a future. or at least the possibility of a future outside the niche.
in my opinion, the adoption of the linux desktop is hindered atm because of the peer-to-peer support thingy. people want to talk in their coffee-breaks about there problems with the machine. and they need their co-workers to give them tip's like: "when my machine stutters i just wiggle the mouse two times left and then two times right and all's well...
that's because of the new microsoft-side-by-side technology." (or whatever)
the typical desktop user at the moment (those which have, for example, problems of grasping the simplest concepts, like "programs"... yes, there a different entities on that screen!) is getting more and more replaced by a generation that is used to computers and internet.
for those it will be more natural to get support on the internet via mail, web-search and social-networks. this will benefit the linux-desktop.
on the same time, software development in one firm has serious scalability problems. look at how big ms is. this is not sound. they are bound to have overhead-issues and inefficencies.
While open-source-development is more wide-spread and not so focused (that means progress is slower), the foundation is bigger and stronger.