Normally, I just like to spend my time writing posts on how to do and fix things in Linux, but I'm going to shift gears for just a little bit today. I want to rant about something that I saw in a Linux support mailing list today that really disappointed me. A Linux user wrote to the mailing list and voiced their support for open source, but also their disappointment with the fact that open source software is not reaching its full promise or potential. Let me first say that I am an avid Linux user and developer, and by all means an open source junkie, and even I can sympathize with this everyday user. What disappointed me was that instead of having their message replied to in a way that would open discussion and attempt to determine the problems they were having, the person was, in my opinion, scolded for even suggesting that open source software could be anything other than what it is. There are other things about what the people were saying that disappointed me, but I want to focus on that attitude here in this post.
First off, I want to ask a couple of questions. One - are we as developers so attached to our projects and ideologies, that we will deride anyone who dares to suggest that we may be missing the mark? And two - do we even try to put ourselves in the shoes of the majority of people who will be using our software, instead of assuming that everyone is just like us?
On the subject of the first question, it seems to me that we open source-ers have become very entrenched in our ideas about the way things should be. I'm not saying that we shouldn't back open source - we should. What I'm saying here is that we can't get so trapped by our ways of doing things that we're unable to adapt to changes that need to be made to survive. A great example of this is with the Linux desktop market. For years, Linux developers have concentrated on server deployment and high end workstations for their inroads into the PC market. It hasn't been until relatively recently that Linux distributions like Ubuntu (thank you again Mr. Shuttleworth) have begun to look at what everyday users need to survive. As a consequence, the Linux community is suffering from lingering tunnel vision. Many of us as developers are not shifting gears to address the fact that most users are not comfortable using certain essentials in the server world like the Linux terminal. There's a reason why PC sales accelerated once graphical operating systems began to be introduced. Most user's can't and won't edit config files on their own to get something to work right that should have worked out of the box. Its just not going to happen. I personally prefer the Linux terminal over any graphical interface, but then again I'm not everyone. I've got to understand that many of my users don't have the level of "geekiness" that I do. Its not fair for me to expect them to attain that level of experience either.
In reference to the second question, I think that the world of open source could use a lesson in customer support. How many times have I come across the same situation that I saw today where a user is scolded for having trouble - too many. How many times have I seen someone who posts a question to multiple sites and never gets an answer, not even a link that might help them - too many. How many times have I seen questions from brand new Linux users be answered with the most cryptic command line strings with no explanation - way too many. If we started seeing potential users and new users as "customers" instead of someone to impress and/or show up with our level of Linux knowledge, the barriers to entry into the Linux and open source world would be greatly lessened. Why not take a few extra minutes to add all the intermediate steps to get from point A to point B, instead of just assuming that this new Linux user has somehow learned the entire bash shell in a week. Just like with a commercial company, if someone has too much trouble with the product and/or technical support, they will take their business elsewhere (if possible). Many open source folks will argue vehemently that "there's help all over the place, you're just not looking hard enough". While its true that you can find answers to many questions about Linux, most are not complete, many are inaccurate, and some are just plain indecipherable for the average Linux user. How many of you would be happy if you got a very complicated widget that you were excited to try, only to find out that you couldn't trust the user manual to be accurate, complete, or even readable? I would venture a guess that if you couldn't operate this beautiful new whirlygig because of it, you would get upset and want your money/time back. You can argue with me on that point all day, but before you do, grab several of your family members with normal computer skills and have them try to set up and use Linux on their own (with no help from any techno-gurus).
I'm going to end this rant now because I need to get back to posting things that will hopefully help people use Linux more effectively, but I want to end with this thought. If we even want to dream of having Linux compete to become the standard operating system for the world (which I would love to see), we have to be flexible enough to meet our users needs (that includes figuring out what the majority of our user's needs are), and we have to treat people new to Linux like valued customers in order to give them the best experience possible. Without a high standard of usability promoted by us open source developers and users, most people will forever stay closely tied to Microsoft and Apple.
That's my two cents for what its worth.