It’s a cliche question, I know. But if we want to answer it, we have to consider the people who use computers. In my mind, there are three kinds of computer users.
Basic: These folks treat a computer as a tool. It is a means to an end. They use it to communicate with people, socialize, find information, make purchases, or watch videos. They don’t give a fig what the operating system is called. However, they display the most psychological inertia to trying new things. Like all forms of brand loyalty, they are used to a particular desktop environment and find it onerous to change. Most likely, they had to endure a steep learning curve to achieve the level of computer mastery that they currently have, and they don’t want to start over.
Enthusiast: These folks display a higher level of interest in computers. They like to tinker with their desktops, change themes, experiment with new apps, and so on. They spend a lot of time on their computers and on the Internet. They are advanced enough to solve many desktop issues and are probably considered “the computer guy” by their basic user friends.
Expert: These folks usually work in the IT industry. They understand the inner workings of software and/or hardware. They are your software developers, hardware manufacturers, webmasters, and so on.
Up until about five years ago, GNU/Linux was an operating system for experts only. I consider myself to be an enthusiast, and while I experimented with several Linux distros in the late 1990s, I repeatedly gave up them. However, about five years ago, Linux advanced to the point that enthusiasts could use it. I started using Ubuntu three years ago. There were hurdles along the way, but I never considered abandoning it in my latest foray into open source software.
However, even I will admit that Linux is still not developed enough for basic users. Codec and driver limitations mean that you have to do some background research before you commit to using Linux, and you may have to find solutions to common problems on forums or elsewhere.
The question remains, when will Linux be ready for basic users? I think that is when it will be “ready for the desktop” in the sense that most people mean it. Given the rapid pace of development in recent years, I’m hoping that time will be within five years. GNU/Linux must address not only the driver issues and major outstanding bugs, but it should make the learning curve smoother by offering tutorials. It should hold the user’s hand at first. Remember what a fresh install of Windows 98 looked like? There was an arrow in the panel pointing to the Start button. That’s the kind of help that Linux should offer if it ever wants to conquer the basic user group.