Comment My experience (Score 4, Insightful) 764
My experience has not been good. I'm probably an intermediate user, and have been using Linux on and off for about 5 years, and have done a couple of clean installations of RedHat and Slackware, including X and KDE. Right now, I'm doing my first useful application with MySQL and Apache/Tomcat, and the configuration was a major hassle. Here are some problems that I run into:
1. Documentation that assumes too much. This has been mentioned above, but I'd like to stress this as a number one problem. After all, what good is a free operating system if you can't use it in a meaningful way without buying 2 or 3 books. Some of the HOWTOs will walk you through setting something up in one particular way, and don't give much guidance on general principles. I guess that's the definition of a howto, but that's really a poor substitute.
Installation program: What packages would you like to install?
New User: Huh? I DON'T KNOW!
2. Too many configuration files. When I first started using linux, one word came to mind: Chaos. Configuration files are all over the place and they all have their own particular formats and quirks. And 99% of the time, the defaults don't work for anyone but the developers. This is getting better though. Some of the more professionally developed applications are better at this. MySQL really shines in this area. It was a breeze to install and the things that it asked for were clear. It is a very peaceful, well-behaved piece of software. But I really wish software developers would include configuration wizards. Lengthy editing of text files just for basic functionality is unacceptable. This is such a problem that I'm considering helping open source projects by specializing in documentation and ease of use. Configuring the kernel has gotten easier in recent years. Modern configuration tools step you through the process and help is readily available if you don't know what something means. Even better, it tells you what you probably need. This is a step in the right direction.
3. Dealing with dependencies. Linux gets a lot of praise for quick bug fixes, which can be a good thing, but its a double-edged sword. You have to juggle kernel versions, glibc versions, and GNU tools. If Linux is trying to reach a mainstream audience, do you expect the average user to have to recompile their kernel and rpm half a dozen other dependencies just to install the new web browser? Windows software developers have a much easier time - you know that an app that will run on one Windows 95 machine will run on just about any Windows 95 machine. Occassionally you run into things like needing X version or a above of DirectX or something, but that's a minor upgrade. Linux applications don't often check for their needed libraries.
1. Documentation that assumes too much. This has been mentioned above, but I'd like to stress this as a number one problem. After all, what good is a free operating system if you can't use it in a meaningful way without buying 2 or 3 books. Some of the HOWTOs will walk you through setting something up in one particular way, and don't give much guidance on general principles. I guess that's the definition of a howto, but that's really a poor substitute.
Installation program: What packages would you like to install?
New User: Huh? I DON'T KNOW!
2. Too many configuration files. When I first started using linux, one word came to mind: Chaos. Configuration files are all over the place and they all have their own particular formats and quirks. And 99% of the time, the defaults don't work for anyone but the developers. This is getting better though. Some of the more professionally developed applications are better at this. MySQL really shines in this area. It was a breeze to install and the things that it asked for were clear. It is a very peaceful, well-behaved piece of software. But I really wish software developers would include configuration wizards. Lengthy editing of text files just for basic functionality is unacceptable. This is such a problem that I'm considering helping open source projects by specializing in documentation and ease of use. Configuring the kernel has gotten easier in recent years. Modern configuration tools step you through the process and help is readily available if you don't know what something means. Even better, it tells you what you probably need. This is a step in the right direction.
3. Dealing with dependencies. Linux gets a lot of praise for quick bug fixes, which can be a good thing, but its a double-edged sword. You have to juggle kernel versions, glibc versions, and GNU tools. If Linux is trying to reach a mainstream audience, do you expect the average user to have to recompile their kernel and rpm half a dozen other dependencies just to install the new web browser? Windows software developers have a much easier time - you know that an app that will run on one Windows 95 machine will run on just about any Windows 95 machine. Occassionally you run into things like needing X version or a above of DirectX or something, but that's a minor upgrade. Linux applications don't often check for their needed libraries.