Is Linux Documentation Lacking?
eldavojohn writes "A number of blog posts are surfacing that are calling out the helpful open source community on their documentation. No, not the documentation for the highly skilled technical people, but the documentation from beginner to apprentice. A two-part series by Carla Schroeder lists bad documentation as 'Linux Bug #1' and advises users to use Google as the documentation. We've discussed before some of open source's documentation being out of date. Is it really as bad as these blogs paint it? Has it come down to using Google before a man page?"
This is one of the key reasons Linux is not mainstream for users (not us geeks but real users). The user does not want to learn how to do anything more on his computer than get is work done or enjoy the entertainment. User level documentation simple does not exist.
Athiesm is a religion like not collecting stamps is a hobby.
As a linux user since 1995, I have found the documentation to be little more than it was around 2000. It's easier to do a google search than try to find an answer in a man page. Not only that, the man page rarely has useful examples, one of the biggest problems.
GeneralKael -- Slacker Extraordinaire
As often as not, the only hits you get are posts in forums where someone is asking the exact same question you need answered... and getting no replies. Since 2005.
That's because its really difficult to determine what's "Linux" when you're talking about Linux. What works on RHEL/CentOS won't necessarily work exactly the same on Fedora, and will probably be way different than on a Debian box.
Contrast this, however, to one of the BSDs, say FreeBSD, which I am the most familiar with. Let us take a look here: http://www.freebsd.org/docs.html. All of these documents ship with the OS, so if you don't have a network connection (for instance, you need the docs to help you set it up), then you have them there as well. The FreeBSD Handbook covers everything from installation to configuring BGP.
There is a separate Developer's Handbook (which even contains a primer on x86 asm), a Porter's Handbook, etc. The docs that ship with the OS include even The Design and Implementation of the 4.4BSD Operating System, which is somewhat dated at this time, but still a great help in theory.
Then, of course, there are the man pages that everyone always mentions, which are awesome, but don't really help make the point I'm putting forward. Of course, the fact that FreeBSD can ship such thorough documentation is because FreeBSD is FreeBSD anywhere, where "Linux" is not. So, perhaps the problem isn't with "Linux," but with certain distributions not taking documentation seriously enough for the various common tasks and interfaces.
What I'm really getting at is, I should not have to Google around for random blogs and wikis to find out how to do a common task that I may be getting to for the first time, hope that I can find an answer, and that the source can be trusted. Any of the distributions which have any sort of commercial or foundation backing at all, really should just bite the bullet and hire on a few technical writers to actually make proper documentation, and then keep it up-to-date. Hell, even Microsoft updates their online help files, and most tasks in Windows are straight forward enough that only 4th grades and 60 year olds need to ask about it.
Relying on GUI config tools, DHCP, and other magic to keep "newbies" from needing to actually learn anything is counter-productive and isn't going to help create new professionals. "RTFM" shouldn't be a put down or a dirty word, but TFM needs to actually contain TFInformation. Is that really so much to provide?
man pages are written by techs for techs, and are intended more as a reference than as a how to. They're very useful for people who are already familiar with Linux and just need to know the syntax for particular commands, but are not particularly helpful for people just getting into Linux.
Most of the previous attempts to create beginner documentation for Linux and other Open Source projects have suffered from the same basic problems:
1.) Nobody likes writing documentations. Technical people in particular hate writing documentation. It's tedious, boring, and generally unrewarding work. So, documentation tends to be sparse at best.
2.) The people who do bite the bullet and decide to write some documentation misunderstand their audience. They write at their own level, and make it easy for themselves, and perhaps their other technically-minded peers, to understand. Documentation is either very sparse, assuming a level of background knowledge that doesn't exist among beginners, or extremely precise, dense, and difficult to understand.
3.) Nobody reads the documentation anyway. People hate reading documentation almost as much as they hate writing it. When's the last time you bought something and actually read the manual that came with it? Reading documentation is boring and tedious, especially when most of it is so poorly written. People would rather tinker, then ask someone else for help when they break something, rather than slogging through documentation.
The basic result of this is we have two alternating types of stories on a semi-annual basis on Slashdot: Stories about someone trying to start a new Linux documentation effort, and stories about how much Linux documentation sucks. Meanwhile, the state of Linux documentation stays essentially the same: a mix of outdated and difficult to follow documents interspersed with large gaps where no documentation exists at all.