A reader asks: Why is Linux still not as user friendly as the two other main OSes with all the people developing for Linux? Is it because it is mainly developed by geeks?
My initial feeling when reading this question was that it was kind of a throwaway, kind of a slam in disguise as a genuine question. But the more I thought about it, the more intrigued I felt. There truly are a large amount of resources being dedicated to the development of Linux and its operating system halo (DEs, drivers, apps, etc). Some of these resources are from large companies (IBM, Red Hat, Novell). Why isn't Linux more user-friendly? Is this an inherent limitation with open source software?

As pointed out, Apple have an inherent advantage due to controlling both the hardware and software.. Both windows and linux can fail to work correctly when faced with certain hardware.

One of the biggest issues with linux is familiarity, people are familiar with windows and find linux difficult because it's different... People who have never used a computer before and therefore have no famliiarity with anything, will often find linux easier.

I have introduced linux machines (cheap/free) to several people in their 60s and 70s who, having no prior computing experienced picked it up easily enough. If you showed any of these people a windows machine they'd hate it for being different. Several of these people drive, and have been driving cars with manual transmission for years, yet none of them were willing to consider a car with automatic transmission... While there are advantages with a manual transmission such as greater control and better use of engine power, these people don't care about that - they just want what's familiar.

Another thing worth considering, is where the article mentions that the cli is often the better way of doing things... Most inexperienced users will ask for help from someone experienced, and an experienced person is likely to use the more efficient way rather than a slower but simpler to learn method - i know i would. Also when explaining something verbally, a commandline is much easier to describe than a gui.

Commands are not archaic, they are a language that the computer speaks, and mastering it will allow you and the computer to communicate far more efficiently. Communication between two people works best when they both speak the same language, having to draw pictures and point is extremely inefficient and really only useful as a fallback.

Think of a computer like an animal or a small child, it lacks the intelligence to learn to speak fluent english, but it can still understand commands it has been taught and is much better than a human at doing certain tasks.