That or if someone invests heavily enough into building a coherent linux desktop.
There are a lot of great things about linux and some of the desktops are quite good (gnome 3.4+, kde) but they just aren't quite there with the small glitches and annoyances that come up just often enough to be off putting for end users.
I think linux or another free OS needs a huge backing to make it mainstream and we may see that with android (or something in a similar vein) in the future but for now the desktop is left Apple and Microsoft