Duneatreides
December 11th, 2007, 10:54 PM
My name is Chris. I am 25 years old and I have been using Linux (or GNU/Linux for those are whinny and technical) for approximately two years now. My first experience with linux was Ubuntu 5.10 "Breezy Badger". Overall I was impressed with Ubuntu 5.10. It was simple and user friendly, but straight from the get-go I ran into a major problem: I couldn't mount the floppy drive. Remember, at that time all of my computing experience was with Microsoft and despite all of unscrupulous design choices that Microsoft made, at the very least when you want to read/write to a floopy on Windows you can do it. I had no clue on how to fix this problem, in fact I didn't know anything about linux at that time. As it turns out, the pmount had a bug in it and it was resolved when I upgraded to Ubuntu 6.10.
As my experience with linux grew, I learned that I could get on the forums and ask questions to help me with my problems, then I ran into RTFM (Read The ******* Manual), or various other acronyms such as GIYF (Google Is Your Friend) etc etc followed by a link to Eric S. Raymonds paper "How To Ask Questions The Smart Way" [1]. I can understand from a "Hacker" perspective why Eric S. Raymond wrote this, and from that stupid "Hacker" perspective it is logical. However, I am not a "Hacker". I do not give a damn about programming, and the only reason I am interested in learning to program is that I know as an engineer I will more than likely need programming skills. I am a user, and from a "User" perspective than Eric Raymond's paper is fairly condescending. It also does not make much sense either because of the 800 pound gorilla in the Open Source World: Microsoft.
I don't give a damn what your views are on Microsoft: the fact is that Microsoft, either legitimately or illegitimately, currently dominates the operating system world. According to W3Counter.com, Internet Explorer has 62.36% of the market while Firefox has 27.77% of the market. The operating systems adoption statistics, according to W3Counter.com is Microsoft has 90.25% of the market while Linux has 1.77% of the market [2]. Note, these statistics were gathered from one website only, W3Counter.com and depending on the methodology used other websites will report different values. Now if the Open Source world wants to increase it's market share it is going to have to take people away from Microsoft. Linux is in direct competition with Microsoft, and due to the cost involved in changing operating systems Linux has to make a strong case to convince someone to switch.
Linux has been, and probably will be, an operating system for the technical user. There is nothing inherently wrong with that, but the problem lays in the fact that is currently only geared toward the technical user. Those millions of people are locked into the Microsoft way of thinking and generally they are not technical users. If Linux wants to increase its user base, it has to accommodate the non-technical user. Further more, non technical users do not read highly technical computer manuals, cryptic man pages, or generic README files. In fact, they do not give a damn because in their mind they have have more important priorities than to scour a generic computer generated README file, maillists, forums, or anything else for that matter. The non-technical user just wants his/her software to work so they can be productive.
It can be argued that documentation for open source is ridiculously incomplete, and yet when people have problems and asks what the "Hackers" consider a stupid question, they are told to read the manual. To all the "Hackers" everywhere here is a news flash: YOUR ******* MANUAL IS A PIECE OF ****. IT IS WOEFULLY INCOMPLETE, CRYPTIC, AND GENERALLY ONE MUST BE DONALD KNUTH TO TIE THE PIECES TOGETHER. Sorry about the profanities.
What do I suggest in this rant? Software developers should stop coding for a minute and write some damn documentation in a clear and concise manner. Do away with the automatically generated README file and actually write a real README that deals with the software you are coding. Include a comprehensive INSTALL README that tells the user how to install the software, and a COMPLETE list of dependencies and include a COMPLETE build order to resolve those dependencies. You had to do it anyway when you wrote the software, so why not document it and tell the rest of us so we don't have to re-invent the wheel. I would like to give praise to GNOME in this regard since they have included both a complete dependency list and the proper build order [3].
I know what people will say. "You can help write the documentation!". True, I could help write the documentation If I knew the software! I can just imagine what would happen if I signed on to help write the documentation for some project, lets call it Ultra-Foo. So I ask the development team "What are the dependencies? What is the build order? How do I install It? Are there any caveats or special installation/configuration steps that needs to be done?" Since I want to write complete and thorough documentation, I will probably end up pestering the development team and pissing them off.
Another suggestion is not release software until the documentation is up to date. For example, XFCE released version 4.3 ( I believe) of their Desktop Environment, and I was interested in trying it out. I read on their website that the 4.3 documentation was not up yet but you can consult the version 4.2 documentation , mailing list, and forums to resolve any problems. As soon as I read that, I hit the back button and I haven't been to XFCE since.
This is becoming a long, rambling rant so to close: Software developers out there, your amazing software project is absolutely worthless without decent documentation. Take a few hours to properly document your project, include a complete installation guide (including dependences and build order), and a user guide. These few hours of work will save you the hassle of the "nOObs" from bugging you on a constant basis. Eric S. Raymond's "How to Ask Questions The Smart Way" is often on a must read list for any newcomer to linux. Therefore I propose that the following be required reading for software developers. The first is Eric S. Raymond's "The Luxury Of Ignorance: An Open Source Horror Story" [4]. I found this amusing as that Mr. Raymond experience first hand what newcomers to linux experience, and how the lack of documentation is a large part of the problem. The second required reading is Joseph Betz's "Why Bill Gates Is Still Rich" [5]. Joseph Betz discusses some of the least discussed problems of linux.
References
[1] "How To Ask Questions The Smart Way"
http://www.catb.org/~esr/faqs/smart-questions.html
[2] W3Counter
http://www.w3counter.com/globalstats.php
[3] Gnome 2.20 Dependency and Build Order
http://www.gnome.org/start/2.20/notes/en/index.html#rninstallation
[4] "The Luxury Of Ignorance: An Open Source Horror Story"
http://www.catb.org/~esr/writings/cups-horror.html
[5] "Why Bill Gates Is Still Rich"
http://www.newhorizonssucks.net/LiveCD.html
As my experience with linux grew, I learned that I could get on the forums and ask questions to help me with my problems, then I ran into RTFM (Read The ******* Manual), or various other acronyms such as GIYF (Google Is Your Friend) etc etc followed by a link to Eric S. Raymonds paper "How To Ask Questions The Smart Way" [1]. I can understand from a "Hacker" perspective why Eric S. Raymond wrote this, and from that stupid "Hacker" perspective it is logical. However, I am not a "Hacker". I do not give a damn about programming, and the only reason I am interested in learning to program is that I know as an engineer I will more than likely need programming skills. I am a user, and from a "User" perspective than Eric Raymond's paper is fairly condescending. It also does not make much sense either because of the 800 pound gorilla in the Open Source World: Microsoft.
I don't give a damn what your views are on Microsoft: the fact is that Microsoft, either legitimately or illegitimately, currently dominates the operating system world. According to W3Counter.com, Internet Explorer has 62.36% of the market while Firefox has 27.77% of the market. The operating systems adoption statistics, according to W3Counter.com is Microsoft has 90.25% of the market while Linux has 1.77% of the market [2]. Note, these statistics were gathered from one website only, W3Counter.com and depending on the methodology used other websites will report different values. Now if the Open Source world wants to increase it's market share it is going to have to take people away from Microsoft. Linux is in direct competition with Microsoft, and due to the cost involved in changing operating systems Linux has to make a strong case to convince someone to switch.
Linux has been, and probably will be, an operating system for the technical user. There is nothing inherently wrong with that, but the problem lays in the fact that is currently only geared toward the technical user. Those millions of people are locked into the Microsoft way of thinking and generally they are not technical users. If Linux wants to increase its user base, it has to accommodate the non-technical user. Further more, non technical users do not read highly technical computer manuals, cryptic man pages, or generic README files. In fact, they do not give a damn because in their mind they have have more important priorities than to scour a generic computer generated README file, maillists, forums, or anything else for that matter. The non-technical user just wants his/her software to work so they can be productive.
It can be argued that documentation for open source is ridiculously incomplete, and yet when people have problems and asks what the "Hackers" consider a stupid question, they are told to read the manual. To all the "Hackers" everywhere here is a news flash: YOUR ******* MANUAL IS A PIECE OF ****. IT IS WOEFULLY INCOMPLETE, CRYPTIC, AND GENERALLY ONE MUST BE DONALD KNUTH TO TIE THE PIECES TOGETHER. Sorry about the profanities.
What do I suggest in this rant? Software developers should stop coding for a minute and write some damn documentation in a clear and concise manner. Do away with the automatically generated README file and actually write a real README that deals with the software you are coding. Include a comprehensive INSTALL README that tells the user how to install the software, and a COMPLETE list of dependencies and include a COMPLETE build order to resolve those dependencies. You had to do it anyway when you wrote the software, so why not document it and tell the rest of us so we don't have to re-invent the wheel. I would like to give praise to GNOME in this regard since they have included both a complete dependency list and the proper build order [3].
I know what people will say. "You can help write the documentation!". True, I could help write the documentation If I knew the software! I can just imagine what would happen if I signed on to help write the documentation for some project, lets call it Ultra-Foo. So I ask the development team "What are the dependencies? What is the build order? How do I install It? Are there any caveats or special installation/configuration steps that needs to be done?" Since I want to write complete and thorough documentation, I will probably end up pestering the development team and pissing them off.
Another suggestion is not release software until the documentation is up to date. For example, XFCE released version 4.3 ( I believe) of their Desktop Environment, and I was interested in trying it out. I read on their website that the 4.3 documentation was not up yet but you can consult the version 4.2 documentation , mailing list, and forums to resolve any problems. As soon as I read that, I hit the back button and I haven't been to XFCE since.
This is becoming a long, rambling rant so to close: Software developers out there, your amazing software project is absolutely worthless without decent documentation. Take a few hours to properly document your project, include a complete installation guide (including dependences and build order), and a user guide. These few hours of work will save you the hassle of the "nOObs" from bugging you on a constant basis. Eric S. Raymond's "How to Ask Questions The Smart Way" is often on a must read list for any newcomer to linux. Therefore I propose that the following be required reading for software developers. The first is Eric S. Raymond's "The Luxury Of Ignorance: An Open Source Horror Story" [4]. I found this amusing as that Mr. Raymond experience first hand what newcomers to linux experience, and how the lack of documentation is a large part of the problem. The second required reading is Joseph Betz's "Why Bill Gates Is Still Rich" [5]. Joseph Betz discusses some of the least discussed problems of linux.
References
[1] "How To Ask Questions The Smart Way"
http://www.catb.org/~esr/faqs/smart-questions.html
[2] W3Counter
http://www.w3counter.com/globalstats.php
[3] Gnome 2.20 Dependency and Build Order
http://www.gnome.org/start/2.20/notes/en/index.html#rninstallation
[4] "The Luxury Of Ignorance: An Open Source Horror Story"
http://www.catb.org/~esr/writings/cups-horror.html
[5] "Why Bill Gates Is Still Rich"
http://www.newhorizonssucks.net/LiveCD.html