Slashdot Mirror


It's the Documentation, Stupid!

Roblimo writes "Brian Jones, a sysadmin for Princeton University, has written a Linux.com column that says open source developers need to provide better documentation if they expect support from sysadmins like him: 'With documentation, I can get to know the software,' he writes. 'Then I'll install it on a test box. If it works, great, I'm tickled pink. If it doesn't quite work, then I'm interested in giving feedback, because here's someone who will roll it back into the product or the documentation. This is a useful cycle that benefits millions, not the least of which is the coder! Documentation ends up resulting in a more mature product! Wake up!'"

105 comments

  1. In other news... by pebs · · Score: 3, Insightful

    someone writes an article saying closed source developers should do the same!

    --
    #!/
    1. Re:In other news... by Bob_Robertson · · Score: 2, Funny

      Pebs,

      I wish there were some way to lock this article so yours would be the only comment.

      Bob-

      --
      The Ludwig von Mises Institute. The reasoning individuals economics
    2. Re:In other news... by merdark · · Score: 2, Interesting

      Except that closed source software is usually much better in regards to documentation. Why? Because when people are just 'scratching itches', or whatever the silly expression of the day is, they don't usually care what *others* think. Since THEY know how to use the program, they don't bother with documentation for others. Documentation is not fun to do.

      On the other hand, closed developers are forced to make documentation by their superiors. Just becasue you don't find all those windows are make help files helpfull, doesn't mean that they are equally useless for everyone!

    3. Re:In other news... by Curtman · · Score: 0

      Since THEY know how to use the program, they don't bother with documentation for others.

      Who needs documentation when you've got the source code? Documentation is hard to keep up to date, and hard to translate. Sysadmins who are scared of the source, scare me.

    4. Re:In other news... by Ayaress · · Score: 1

      I'll second that. When I got my p133 back in 1997, it came with an entire box of documentation. A book with all the jumper settings for the motherboard, maintainence/upgrade instructions, and even a three-inch-thick monster covering all the features not covered in the 25 page Windows 95 manual. Heck, my speakers came with a 50-page manual that even explained how to take the damn things apart and replace the paper diaphram. But then, I go and buy a computer in 2001, and it had under 30 pages of documentation combined bweteen hardware and software. Worse yet, I get one earlier this year, and the manual is just one sheet tri-folded, and two-thirds of it is just ads for more RAM and bigger harddrives. I've seen some nightmarish lack of documentation with open source software, but closed-source software and hardware developers are by no means blameless.

    5. Re:In other news... by Anonymous Coward · · Score: 0

      It took me five days to figure out all the features in DOSBox by looking at the source code. I could have gotten the same amount of information from a simple .txt readme in fifteen minutes.

      Sysadmins get paid for working, not for sifting through source code for days, only to have to translate what they've found for the people who actually USE the software.

    6. Re:In other news... by Curtman · · Score: 1

      It took me five days to figure out all the features in DOSBox by looking at the source code

      Well, you're an exception though. If the Slashdot log-in system is too tricky to figure out, definitely stay away from the Slashcode source too.

    7. Re:In other news... by drsmithy · · Score: 1
      Who needs documentation when you've got the source code?

      People who actually have jobs, work and are busy.

      Documentation is hard to keep up to date, and hard to translate. Sysadmins who are scared of the source, scare me.

      "Being scared of the source" and "not having the time to decipher thousands of lines of poorly written and often uncommented C" are worlds apart.

    8. Re:In other news... by Curtman · · Score: 1

      "Being scared of the source" and "not having the time to decipher thousands of lines of poorly written and often uncommented C" are worlds apart.

      Not at all. If you can't grok the source, either the program is badly written (just like documentation can be badly written), and you should look for something else, or you have no business being a sysadmin.

    9. Re:In other news... by drsmithy · · Score: 2, Insightful
      If you can't grok the source, either the program is badly written (just like documentation can be badly written), and you should look for something else, or you have no business being a sysadmin.

      If you can setup, say, Samba - using only the source for documentation - in the same time someone else can set it up using the real documentation, you have my deepest admiration.

      I sincerely doubt that is true, however.

      Your assertion may hold true for piddly little insignificant applications, but anything of any size and significant functionality is going to have a *lot* of source code to wade through and even experienced programmers aren't going to be able to "grok" it as quickly as they can read even a relatively poor HOWTO.

      I can read code. I'm not a particularly *good* programmer - certainly not good enough to make a fulfilling carrer out of it - but I can read code well enough to figure out what's going on. However, I simply don't have hours and hours of spare time to *waste* reading through source code trying to figure out how the fuck something works. I've got a job to do and that job is providing working solutions for my employer's problems, not reading source code.

    10. Re:In other news... by Curtman · · Score: 1

      If you can setup, say, Samba - using only the source for documentation - in the same time someone else can set it up using the real documentation, you have my deepest admiration.

      Thats not what I'm saying. But when my question isn't answered in the documentation, I bet you I'll get my answer quicker by checking the source than I will bitching about the documentation on Slashdot. Rarely do you have to spend hours of spare time to find an answer, a couple of grep's and you're back in business.

    11. Re:In other news... by pebs · · Score: 1

      Except that closed source software is usually much better in regards to documentation.

      And the cases where they aren't you are even more screwed because you don't even have the source code. For example, I've come across many closed source development tools that have horrible documentation, there was no chance of using the tool without direct access to the authors of it. Whereas I've seen many open source projects that have excellent documentation, easy access to the developers, and well-documented source code as icing on the cake! It kinda depends on the motivations of the author, if its something they want other people to use, they are more likely to have good documentation. If its their pet project they are doing for fun, all bets are off.

      closed developers are forced to make documentation by their superiors

      This isn't always the case, especially with tight budgets these days and understaffed projects. You'd be surprised at how much closed source software gets shipped with little or no documentation. I think the problem exists for all software. Its just a bit more visible with open source because you have access to most of it.

      --
      #!/
  2. I want to write docs by kisielk · · Score: 4, Interesting

    I've been trying to find a project to write docs for for quite some time, but I usually don't get any replies when I email authors of various software. If they don't want to communicate with me I don't want to be wasting my time writing documentation for them.

    So how about this, if you have an OSS project that needs some docs, contact me. If I find it interesting maybe I will help out.

    Maybe someone should set up a site where doc writers can offer their services and software authors can request to have docs written for their programs. Just an idea.

    1. Re:I want to write docs by mindhaze · · Score: 1

      As posted a bit further down, my project could benefit from some further docs.

      http://www.nosleep.ca/jaio/

      I will probably address this, but if you're willing to, it shouldn't take too much time. Let me know!

    2. Re:I want to write docs by Anonymous Coward · · Score: 0

      KDE would love your help! Read this to get orientated, pick an app that seems to need work and then contact Lauri or the ke-doc-english mailing list to find out how to get started. We definitely need and appreciate your help!

    3. Re:I want to write docs by kisielk · · Score: 1

      I tried contacting Lauri before but never got a reply to my email, maybe it was just missed... i might give it another try.

    4. Re:I want to write docs by flok · · Score: 1

      Ehr, yeah, but how can one contact you? I have quiet a few projects that can use some documentation (http://www.vanheusden.com/Linux/).

      --

      www.vanheusden.com - home of Multitail, HTTPing, CoffeeSaint, EntropyBroker, rsstail, bsod, listener, nagcon, nagi
    5. Re:I want to write docs by kisielk · · Score: 1

      Sorry, the info should be available now. Forgot to show my email and ICQ on /. :)

    6. Re:I want to write docs by Anonymous Coward · · Score: 0

      If that doesn't work, post to the list. You're definitely needed and appreciated.

    7. Re:I want to write docs by bofkentucky · · Score: 1

      Mozilla and OpenOffice are always seeking documentation help and seeing as these two products are the windows worlds's first glimpses of open source, they need all the help they can get.

      GIMP could also use some documentation help to bridge the gap for Photoshop and PSP users.

      --
      09f911029d74e35bd84156c5635688c0
    8. Re:I want to write docs by Anonymous Coward · · Score: 0

      I'm not sure what they are up to recently, but you might check out The Linux Documentation Project.

    9. Re:I want to write docs by reynaert · · Score: 1

      The Gnome Documentation Project is also looking for people. In fact, pretty much every largish project in the free software world seems to be looking for documentors.

    10. Re:I want to write docs by Curtman · · Score: 1

      If they don't want to communicate with me I don't want to be wasting my time writing documentation for them.

      A lot of project admins in open source are swamped with people offering to do stuff, and never following through. I'll bet if you were to make even a point form overview of what you plan to cover in the proposed documentation and post it to the project's mailing list, you'll get responses.

    11. Re:I want to write docs by evilad · · Score: 1

      If you do this for an evolving project, please consider looking at the online versions of Bruce Eckel's "Thinking..." books.

      His mechanism for collecting user feedback tagged to a specific paragraph and version is so mindblowingly obvious that I wonder why I have never seen it done anywhere else.

      Perhaps it's because it works?

    12. Re:I want to write docs by WankersRevenge · · Score: 2, Informative

      From "The Complete Idiots Guide to Technical Writing" by Krista Van Laan and Catherine Julian

      "The Open-Source Writers Group is a nonprofit organization whose primary goal is to improve the overall quality and quantity of free open-source and open-content documentation. Their web site at: http://www.ibiblio.org/oswg/index.html includes a page where you each register as a volunteer writer, editor, or proofreader for documentation related to open-source projects." - page 41

      I have briefly skimmed this site and it appears to be a valuable resource.

      In closing, I do agree with the parent. What good is a tool if no one knows how to use it?

    13. Re:I want to write docs by kisielk · · Score: 1

      I noticed the Zope and Plone documentation follows this model too. Unfortunately the developers appear to have neglected the docs and don't incorporate the changes very quickly.

  3. Oh, the humanity by daeley · · Score: 2, Funny

    Dang, dude. You wrote a rant over 1300 words long complaining about lack of documentation. Imagine if you and similar pundits contributed those words to the documentation of deserving projects.

    But, alas, whining is the quicker path.

    --
    I watched C-beams glitter in the dark near the Tannhauser gate.
    1. Re:Oh, the humanity by Anonymous Coward · · Score: 0

      Imagine if all those forgotten projects might have actually been documented. Maybe the efforts of the programmer wouldn't have been wasted. If I have to reverse engineer a product (oss or commercial) to figure out if it actually does what I need it to do I typically don't bother.

      Now I actually agree with you that you should be proactive about documentation writing but that doesn't make it any less true that the persons most qualified to write documentation are the developers.

      This point became very clear to me when I started in a new job half a year ago. Basically I had to dive into the source code to figure out what the software did because there was no documentation. I then wrote some myself (just to be able to tell other colleagues to RTFM). The guys who wrote the software could have saved me (and presumably a lot of colleagues) some time by taking half an hour of their time to write documentation. They didn't do that for various valid reasons (like project deadlines) and that fact continues to add weeks to the average training time for new employees who need to do like I did: dive into the source to figure out what it does. Also I have found out that there are lots of features in hour software that are barely used because noone knows how it works.

    2. Re:Oh, the humanity by Prior+Restraint · · Score: 2, Insightful

      Has it occurred to you that maybe people need to actually understand a product before they can write documentation for it? Now, who understands better how a piece of software works: the original developer(s), or potential customers?

    3. Re:Oh, the humanity by styrotech · · Score: 2, Insightful

      Has it occurred to you that maybe people need to actually understand a product before they can write documentation for it? Now, who understands better how a piece of software works: the original developer(s), or potential customers?

      Then again, who usually does a better job explaining how to use it to newbies? The developer or another ex newbie who has worked out how to use it?

    4. Re:Oh, the humanity by Prior+Restraint · · Score: 1

      Touche.

    5. Re:Oh, the humanity by alienw · · Score: 1

      I have never seen good documentation written by a developer. Developers usually suck at writing, and think that every feature of their program is completely obvious. It is much better to have an experienced user write the documentation.

  4. Wiki for man pages? by UnknownSoldier · · Score: 3, Insightful

    Why isn't there a wiki for the man pages?

    The biggest problem I have with the man pages, is lack of examples!

    --
    Original, Fun Palm games by the Lead Designer of Majesty!
    http://www.arcanejourneys.com/

    1. Re:Wiki for man pages? by tmtresh · · Score: 3, Interesting

      Isn't that what grokdoc is for, to begin a documentation project? Why don't ya'll just contribute to that?

    2. Re:Wiki for man pages? by Anonymous Coward · · Score: 0


      Amen.

      Also useful would be a "script and config file snippets" catalog with short examples of how to config software to do specific tasks.

      [E.G.: You wanna add another IP address to an apache web server so it can respond with site #1 on IP #1 and site #2 on IP #2? Here are the config files you need to modify, here are the lines you need to add/modify and where to put them, here's what else you need to look at to make sure this doesn't open any vulnerabilities, and here's where you are likely to have problems with this change screwing up the rest of your server. This sort of thing would also be most useful as a wiki.]

      In fact, Wiki may be the best way to do **all** OSS docs - if the software is user-contributed, why not the docs, too? Besides, you wouldn't need to become a maintainer to contribute, just add the "cheat sheets" and notes for the tiny little part you figgered out so everyone can benefit. The online documentation for PHP used to have something VERY similar to this where they allowed users to add comments (with questions, answers or snippets) to the bottom of doc pages. The comment sections are still there, but they are empty and it looks like they were removed when PHP5 released a few weeks ago.

      Someone call the LDP and ask them when they are going to get their boo-tays in gear on this.

    3. Re:Wiki for man pages? by Anonymous Coward · · Score: 0


      I don't think so. My understanding of GrokDoc was that PJ wanted to create documentation essentially for newbies and mother in laws to make Linux more accessible. There is clearly a place for that. GrokDoc is using a Wiki to develop this, but I don't think it was ever intended to be a complete set of manuals, just an intro.

      I, at least, was think of something more along the lines of the Wikipedia. I go to that site, man, and I just think *WOW* If only the Linux HOWTOs were like this!

    4. Re:Wiki for man pages? by Draknek · · Score: 1

      PHP still has the user comments - they're just temporarily down.

      The very first news article on the page you link to says:

      Some services are temporarily unavailable

      [28-Jul-2004] Due to server problems, some of the services provided by php.net and the mirror sites are not available currently. These include the documentation user notes (including their submission interface), the event submission, cvs account request and mailing list subscription forms. Please be a bit patient, while we sort out the issues.

      --
      Self-referential sigs do not a humourous poster make.
  5. Corporate Idiots by den_erpel · · Score: 3, Insightful
    If I would have read this story about a year ago, I guess I would have thought the guy to be a complete idiot. I still think this to be the case, but at least I can now see the reality of things.

    I've changed from doing research at the university to a international company and to my regret and complete surprise, the sysadmins from that company are far from, euh, gifted.

    The comporate policy seems to be that anything that costs lots of money must be fine while something which you can download from the internet cannot be anything but bad, inferior and buggy software.

    Who cares if e.g. lots of money are spent re-routing corporate e-mail to off-shore server (for a spam solution) instead of installing spamassassin and clamav. But one of the most unfortunate things I have had the bad luck to witness, was an official meeting to evaluate two software packets. One was completely open source and collaborate project while the other one was a commercially branched solution. The meeting had 8 engineers attending a 3 hour meeting evaluating the packet presented by the sysadmins, who had obviously already made up their minds, since the column of the free solution was not even filled out. Finally it boiled down to
    1. The commercial product has more options. This was completely false, but in any case irrelevant: the packet needed to be trimmed down to basic functionality for user friendliness
    2. But, a commercial packet must have good documentation and good support (yes, this is especially required for a package that any 3 year old can operate).

    The software costed only 250 Euros...

    Some (esp *cough* power users *cough* of some commercial *cough* operating system *cough*) users simply cannot grasp the concept that skimming through headers and comments in sources is the best documentation there is. All other documentation is out of date and is certainly not that reliable and often in contradiction with the program and functionality.

    This kind of corporate complete braindead reasoning is ubiquitions. Unfortunately, this is corporate IT, not always done by the best and brightest. At least, it really made me to appreciate those good admins out there and you can praise yourselves lucky if you have them...
    --
    Genius doesn't work on an assembly line basis. You can't simply say, "Today I will be brilliant."
    1. Re:Corporate Idiots by pipingguy · · Score: 1


      The comporate policy seems to be that anything that costs lots of money must be fine while something which you can download from the internet cannot be anything but bad, inferior and buggy software.

      No, it's all about having someone outside the company to blame when things go wrong.

    2. Re:Corporate Idiots by WallyHartshorn · · Score: 2, Interesting
      users simply cannot grasp the concept that skimming through headers and comments in sources is the best documentation there is.

      Did you really say that?! "Hmm... I can't figure out how to do generate a table of contents in OpenOffice. No problem, I'll just read the programmer's comments in the source." What kind of fantasy land do you live in? Give me a manual! Give my father a manual! Don't tell us that we'd be better off reading the source code's comments.

    3. Re:Corporate Idiots by Bastian · · Score: 1

      (assuming we're talking a library or something)
      it's ridiculous to think that the source is inherently the best documentation there is. Good commenting will tell you all sorts of information, including not just the data type of the function (assuming you're not using a statically typed language), but also what kinds of values to expect (for any language). It will also explain side effects and all of that.
      This stuff isn't built into the source, so you have to write it manually - which takes about as much effort to do properly in the source as it is in an external document, so I fail to see where commenting in the source is so great. In some ways it's worse. I don't personally like having to grep a source tree in order to find what function is in what file. So much easier to look in the documentation's index.

      (Assuming we're not talking a library)
      It's stupid to expect all of your users to know how to read source code. Even if they can program, you shouldn't expect them to know the language you wrote the project in. No, not even if it's specificially designed for working with that programming language, because the person using the project could be new to programming.
      Like the parent commenter said, it's stupid to expect your users to read a huge pile of functions in order to understand how the program will respond to various user interactions when they could instead read a few well-written sentences of explanation.
      It's also stupid to assume that your users will even have a copy of the source on their computer. Some administrators like to compile binaries and install those rather than expecting their users to compile everything they are supposed to use or cluttering up a workstation with a pile of source code. (Especially if it's older and has a smaller hard drive.)

    4. Re:Corporate Idiots by swillden · · Score: 1

      This stuff isn't built into the source, so you have to write it manually - which takes about as much effort to do properly in the source as it is in an external document, so I fail to see where commenting in the source is so great.

      Except that later when someone else changes the source, they have to know to go look up the relevant chunk of some external document and change it, or they have to go to the effort of searching the external document to see if there's something that needs to be updated. Either way, much of the time changes won't be implemented in the separate document. Heck, it's even fairly common for developers to neglect to read and update the comments that are right next to the code they just changed. But programmers are orders of magnitude more likely to update the comments that are right in front of them than some other file of whose existence they may not even be aware.

      There's a very good reason why there are a lot of tools that construct documentation from comments: it's usually the most practical way of getting documentation out of the developers.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:Corporate Idiots by den_erpel · · Score: 1

      Hm, you are right with this comment, but I thought we were talking about sysadmins in the article.

      If we are talking about user programs that everyone needs to use, documentation is a must; but IMHO we are then talking about a completely different type of program for a completely different target audience.

      I would find it troublesome that sysadmins need the same level of documentation of other users (that do not focus on IT).

      --
      Genius doesn't work on an assembly line basis. You can't simply say, "Today I will be brilliant."
    6. Re:Corporate Idiots by shaitand · · Score: 1

      I think your missing the point. We are talking about sysadmin and end user documentation here. It is safe to assume they don't know what source code is, let alone to look for comments there.

      Documenting the source is great and all, but it's more important to document HOW THE HELL TO USE THE PROGRAM.

    7. Re:Corporate Idiots by shaitand · · Score: 1

      Reality is that most sysadmins DO need the same level of documentation.

      And further most sysadmins are NOT programmers. comments in source/headers is a completely inappropriate answer. We could hope that most sysadmins might know what source code is, but headers is pushing it.

      Remember 99% of these guys read a certification book, passed a test, and now have a job.

    8. Re:Corporate Idiots by richie2000 · · Score: 2, Insightful
      There's a very good reason why there are a lot of tools that construct documentation from comments: it's usually the most practical way of getting documentation out of the developers.

      There are two more ways: The credible threat of an unseen but oft hinted at baseball bat; and the prospect of being sat upon by the 130kg heavy tech writer. I have used both with great success. :-)

      Most developers seem to be genetically selected against writing documentation so there needs to be an outside force squeezing it out of them. An extremely thinly veiled threat of physical force works for me, especially when they think it's in jest but can't be really, really sure I won't sit on them one day. After extracting the data, a good tech writer can turn it into usable information by installing the software, using the program and - as an added bonus - give valuable feedback to the developers on usability issues. This feedback loop is largely missing in FOSS, I'm sad to say.

      --
      Money for nothing, pix for free
  6. Re:assholes by syrinx · · Score: 2, Insightful

    Noone wants to read another fucking whine piece by some asshole who likes to hear himself talk.

    So why'd you write it, then, if you realize no one wants to read it?

    --
    Quidquid latine dictum sit, altum sonatur.
  7. I am interested in doc writing by Tim_F · · Score: 2, Informative

    I am interested in pursuing a career in documentation writing. What better way to earn experience than by writing documentation for open source programs?

    I don't feel that I have the ability to write something along the lines of KDE documentation just yet. I would like to start with something small.

    If you have an open source program that is lacking in documentation send an email to tjfriese@hotmail.com and we'll see if I can't help you out. If your program has an ebuild for Gentoo, that would be a bonus.

  8. Time to start Documenting. by mindhaze · · Score: 3, Interesting

    I wrote a small app recently, and have been less than pleased with the response. I figured there were more people out there with a need like mine.

    The app is Jaio, which renames digital camera images according to their EXIF data.

    That being said, I included very little documentation for the thing, and hardly documented at all the algorithm I used, since to me it was kind of common sense.

    I think after reading this article, I'm going to write some more thorough docs, and then include those docs in the help menu.

    Thanks Brian, for the inspiration!

    1. Re:Time to start Documenting. by pyrrhonist · · Score: 1
      I think after reading this article, I'm going to write some more thorough docs, and then include those docs in the help menu.

      After taking a look at your project, I have a small suggestion for you. It would be really helpful if you would put a short explanation of what your program does both on your web page and in your program (i.e. "This program renames images according to blah blah blah..."), . Right now, you can't tell exactly what JAIO does. It wasn't until I read this post that I was able to figure it out (without downloading it).

      The app is Jaio, which renames digital camera images according to their EXIF data.

      This is the kind of explanation I mean. However, I would try restating that in layman's terms (i.e. "What's EXIF data? Does it hurt?"). The simplest wording is probably best.

      Anyway, JAIO looks pretty good. The interface is pretty simple. The naming scheme is the only really complex part, but I'm not sure how you would make it simpler. All of things I thought up end up being more complex than the text field. Good luck with your project.

      --
      Show me on the doll where his noodly appendage touched you.
  9. Code docs as well. by LincolnQ · · Score: 2, Insightful

    I think documentation in general is hugely important. Not just for people who are not programmers but who are sysadmins, like the author, but for any programmers who want to contribute to the code.

    I actually haven't run across major usage documentation problems like the author of the article did -- I have been able to install and run many of the programs I want to, without significant trouble. The problems I run into are when I actually want to dig into the code to change something. I am usually bewildered by the size of the project and I don't know where to start.

    Documentation is good. I like writing documentation for my code (and I feel like I'm somewhat rare). But it's something that I naturally do at this point. I don't consider it a 'chore' or anything like that -- in fact, I enjoy writing docs for my code that I understand, in order to communicate this understanding to others.

    I think that code documentation, not just usage docs, is a core part of the open source development model. If you are the only one who can understand your code, then chances are that your project will die if you stop maintaining it. The mental model is very important in programming, and others' capability to replicate your model in their minds will help them write integrated, less buggy code for your project.

  10. Ninnle already well documented! by Anonymous Coward · · Score: 0

    Man pages, LDP, help files...you name it!

    What else could you ask for?

    Try Ninnle Linux or NinnleBSD today!

  11. Brian Jones by 0x0d0a · · Score: 2, Interesting

    Look, I'll agree that many minor OSS projects could use better documentation, but wouldn't it be easier to submit a list of what you'd like included in whatever product pissed you off than writing a long angry article about it? I mean, there are a lot of obscure little Windows closed-source packages that lack good documentation as well.

    I haven't had a problem with major projects.

    Is it largefile aware?

    I really have seen very few closed-source packages that include this in their documentation, either.

    Is it scriptable?

    I can't think of any open-source packages that are scriptable that don't document the point that they're scriptable.

    Most OSS CLI software isn't explicitly "scriptable" because it can simply be easily run and interfaced with from scripts without requiring an internal interface.

    I have refrained from naming names here. It would serve no useful purpose, as my sysadmin colleagues can probably think of exactly the projects I'm talking about (as can the respective coders).

    Actually, I'd infinitely have preferred that Brian *had* named the names of the OSS projects that he found at issue, and listed some concrete problems. Then they could be addressed.

    The bigger problem for you coders, really, is that there are usually 20 different packages on freshmeat that all do the same thing. Of those 20, probably one or two have real-life, usable documentation.

    Your problem sounds more like a lack of comparative reviews to assist you in evaluation than a lack of documentation.

    This honestly sounds like the sort of problem you get if you start trying out "mp3 sorters" or "IM clients". I'm dubious that this is a severe issue with, say, webservers.

    While I'm posting, does anyone have any idea why Slashdot is changing colors on me like mad? I've seen a rather pretty but less usable gold-and-white theme, and I'm currently posting in a black-and-white theme that says "Don't fear the penguins". CmdrTaco put up a test story on the main page yesterday -- what's going on at Slashdot?

    1. Re:Brian Jones by syrinx · · Score: 1

      Different 'sections' have different colors -- the "IT" section is new and is that BEIGE OF DEATH or whatever, this "Linux" section is new and is black, the "Apple" section was added a year or so ago and is Apple-aqua, the "Games" section was also added within the past year and is that horrible purple-black... most of the other sections have been around for a long time, and vary from "Apache" purple to "BSD" red to "Developers" blue.

      Most of the other sections have the same "News for Nerds" tagline at the top, but apparently that may be changing, since the "IT" section says "It is what IT is", and the "Linux" one, as you pointed out, says "Don't fear the penguins". Both of which, IMHO, are stupid, but hey.

      --
      Quidquid latine dictum sit, altum sonatur.
    2. Re:Brian Jones by Anonymous Coward · · Score: 1

      I don't understand how the editors can have such consistently bad color sense. One bad choice is a matter of opinion, but "Developers" and "Ask Slashdot" are the only two that aren't actively hideous.

    3. Re:Brian Jones by 0x0d0a · · Score: 2

      Ah, okay. I'm familiar with the old section colors, but not the new ones. I must have been using Slashdot when the regeneration of the pages started, because I kept seeing green on some pages and gold on others (even in the same section) for a bit.

    4. Re:Brian Jones by shaitand · · Score: 3, Interesting

      While I'm sure there are a couple small projects with crap documentation. There are no shortage of LARGE projects with crap documentation.

      mysql (almost all the documentation is wrong, and I mean the simplest stuff is wrong, like working with authentication). They have lots of documentation, but most of it is inaccurate, out of date, and in many cases was ALWAYS wrong. They rely too much on the ability of users to comment on given pages of documentation. But those users are wrong half the time, and even when they are right their contributions don't seem to ever be added.

      Apache, dear god just look at it. Their documentation is basically a quick reference, they list all kinds of options and generally out of context. Have these people never heard of tutorials?

      Bind... bind is scarey as hell, you find conflicting and inaccurate information EVERYWHERE not just on the website. For instance, look for information on how to setup reverse lookups. You won't find any actual tutorial type information at all, explaining simply how reverse lookups work and giving a couple examples. Nope, what you'll find are lots of people posting new information about old versions of bind. They give incorrect syntax that simply doesn't work almost every time.

      Thinking about it, I can't honestly say I've EVER found a bind example on the web that worked without modification. From ANY source.

      I've yet to find a ftp server with good docs either, again the same problem. In the case of ftp servers they seem to have an obsession with large anonymous ftp (aside from universities and large software vendors who actually wants to do this?).

      If any other option they give the ability to have users log into their system accounts home directory, talk about a pain in the arse to manage and keep seperate from other services. I suppose if you were doing web hosting this is what you'd want, but not for anything else.

      Most things assume that actually using the software is obvious, or the other way, they assume you've had no problem installing.

      Very few give configuration examples. Some sites give a couple limited examples but don't give examples of usage for the config options. Some give the config options but no configuration examples, like apache. Some do either of those or both but don't cover how to install the software.

      COMPLETE Documentation is needed, that covers everyone from complete novice and idiot who nothing nothing about the app or the OS to power users who know nothing about the app. Even advanced documentation should be written from the perspective that the user knows nothing about the app.

      Because after all an advanced user, who knows alot about webservers and nothing about apache, is going to be looking at adanced topics the first day they are playing with apache.

      The docs should take you from novice to guru, include tutorials, include a hand hold through installation.

      References are good but they don't replace the need for any of the rest of it.

      The docs should also always apply to the latest stable version, if the docs havent been checked and updated, then the new version isn't stable yet. The docs should be considered part of the release.

    5. Re:Brian Jones by 0x0d0a · · Score: 1

      mysql (almost all the documentation is wrong, and I mean the simplest stuff is wrong, like working with authentication). They have lots of documentation, but most of it is inaccurate, out of date, and in many cases was ALWAYS wrong. They rely too much on the ability of users to comment on given pages of documentation. But those users are wrong half the time, and even when they are right their contributions don't seem to ever be added.

      I confess that I've never seriously used mysql. I was impressed with the presentation of their docs, but they certainly could be wrong, and I wouldn't know.

      Apache, dear god just look at it. Their documentation is basically a quick reference, they list all kinds of options and generally out of context. Have these people never heard of tutorials?

      I've never had a problem with Apache's documentation. The only time I've looked for a tutorial-style document and been dissatisfied was when I was trying to set up SSL (this is back when many distros,

      I've yet to find a ftp server with good docs either, again the same problem. In the case of ftp servers they seem to have an obsession with large anonymous ftp (aside from universities and large software vendors who actually wants to do this?).including Red Hat, didn't ship SSL support, so very few people could it).

      I use vsftpd -- I admit that it isn't a very complicated ftpd, but it's certainly not hard to find what you're looking for.

      Remember that, until the Web got big, anonymous ftp was simply how you distributed *everything*.

      If any other option they give the ability to have users log into their system accounts home directory, talk about a pain in the arse to manage and keep seperate from other services. I suppose if you were doing web hosting this is what you'd want, but not for anything else.

      True enough, but this isn't really a documentation issue -- it's just a legacy of how *IX systems are generally used.

      Most things assume that actually using the software is obvious, or the other way, they assume you've had no problem installing.

      I dunno. When was the last time that you had a set of good documents on what to do if your closed-source Windows applications failed to install?

      I'd say that in general (even aside from documentatin), software doesn't deal too well with failure to install. You generally have to have a pretty good idea of what you're doing to fix a failure to install.

      COMPLETE Documentation is needed, that covers everyone from complete novice and idiot who nothing nothing about the app or the OS to power users who know nothing about the app. Even advanced documentation should be written from the perspective that the user knows nothing about the app.

      If you've never heard of Mathematica or MATLAB or Photoshop or any other kind of serious closed-source software, you're not going to pick things up by just skimming over the documentation -- you're going to have to maybe read a book or take a class, or read things written by other people and spend a lot of time coming up to speed on it. I'm not saying that "more documentation != good", I'm just saying that I think you're expecting more from open-source software than I've ever seen closed-source packages do. Heck, most closed-source packages don't even ship with good manuals any more -- the last time I got a nice multi-hundred-page manual with a package with tutorials and feature-by-feature descriptions was *SuperPaint* for the Mac, years ago.

      The docs should also always apply to the latest stable version, if the docs havent been checked and updated, then the new version isn't stable yet. The docs should be considered part of the release

      The docs should also always apply to the latest stable version, if the docs havent been checked and updated, then the new version isn't stable yet. The docs should be considered part of the release.

      Here I'll agree, but I've also seen plenty of times that closed-source software will ship documentation for the last major version with some "updates" information. It's not that unusual.

      I dunno. Maybe you've just used some closed-source software packages with particularly good documentation that I've never been fortunate enough to use.

    6. Re:Brian Jones by shaitand · · Score: 1

      "I've never had a problem with Apache's documentation. The only time I've looked for a tutorial-style document and been dissatisfied was when I was trying to set up SSL (this is back when many distros,"

      SSL would be a fine example then, it's a trivial requirement of pretty much everybody who is setting up a webserver, even if they aren't going to buy a cert pretty much everybody needs ssl for something.

      "Remember that, until the Web got big, anonymous ftp was simply how you distributed *everything*."

      Although that was how you distributed everything before the web got big, that concept is over 10yrs out of date. Certainly anonymous ftp should be covered in the docs, but other configurations should be as well.

      "True enough, but this isn't really a documentation issue -- it's just a legacy of how *IX systems are generally used."

      Nah it's a documentation issue, unless of course the app doesn't support functioning this way, then it's a legacy issue. If the app does support a mode of operation more suited to non-isp/web hosting configurations, it should be documented.

      "

      Stories
      Old Stories
      Old Polls
      Topics
      Hall of Fame
      Submit Story

      About
      Supporters
      Code
      Awards

      Services
      Broadband
      Online Books
      PriceGrabber
      Product News
      Tech Jobs
      IT Research

      Re:Brian Jones
      Re:Brian Jones (Score:1)
      by 0x0d0a (568518) on Thursday July 29, @02:02PM (#9835086)
      mysql (almost all the documentation is wrong, and I mean the simplest stuff is wrong, like working with authentication). They have lots of documentation, but most of it is inaccurate, out of date, and in many cases was ALWAYS wrong. They rely too much on the ability of users to comment on given pages of documentation. But those users are wrong half the time, and even when they are right their contributions don't seem to ever be added.

      I confess that I've never seriously used mysql. I was impressed with the presentation of their docs, but they certainly could be wrong, and I wouldn't know.

      Apache, dear god just look at it. Their documentation is basically a quick reference, they list all kinds of options and generally out of context. Have these people never heard of tutorials?

      I've never had a problem with Apache's documentation. The only time I've looked for a tutorial-style document and been dissatisfied was when I was trying to set up SSL (this is back when many distros,

      I've yet to find a ftp server with good docs either, again the same problem. In the case of ftp servers they seem to have an obsession with large anonymous ftp (aside from universities and large software vendors who actually wants to do this?).including Red Hat, didn't ship SSL support, so very few people could it).

      I use vsftpd -- I admit that it isn't a very complicated ftpd, but it's certainly not hard to find what you're looking for.

      Remember that, until the Web got big, anonymous ftp was simply how you distributed *everything*.

      If any other option they give the ability to have users log into their system accounts home directory, talk about a pain in the arse to manage and keep seperate from other services. I suppose if you were doing web hosting this is what you'd want, but not for anything else.

      True enough, but this isn't really a documentation issue -- it's just a legacy of how *IX systems are generally used.

      Most things assume that actually using the software is obvious, or the other way, they assume you've had no problem installing.

      I dunno. When was the last time that you had a set of good documents on what to do if your closed-source Windows applications failed to install?

      I'd say that in general (even aside from documentatin), software doesn't deal too well with failure to install. You generally have to have a pretty good idea of what you're doing to fix a failure to install."

      99% of the time windows applications don't fail to install in the form they are

    7. Re:Brian Jones by 0x0d0a · · Score: 1

      SSL would be a fine example then, it's a trivial requirement of pretty much everybody who is setting up a webserver, even if they aren't going to buy a cert pretty much everybody needs ssl for something.

      Somehow, I managed to cut out what I was typing. I was trying to write that back in the day, almost nobody bundled SSL, so there were few people using it, which was almost certainly a factor in good tutorials not being around.

      99% of the time windows applications don't fail to install in the form they are distributed. 3rd parties can achieve this rate with linux, but the project site distributes source that fails to compile simply by following the ./configure make make install that is usually the only installation instruction.

      RPMs?

    8. Re:Brian Jones by shaitand · · Score: 1

      "RPMs?"

      Read what you just quoted there again and think about it. Also RPMS are a packaging format, not an end user installer. Almost no project distributes RPMS or any other binary format, with or without an installer.

    9. Re:Brian Jones by 0x0d0a · · Score: 1

      I get very, very few software packages not in RPM format -- most useful packages are packaged these days. Most of the stuff I use that isn't in RPM format are perl scripts that people have written.

    10. Re:Brian Jones by shaitand · · Score: 1

      Lets see if I can find a few projects that don't offer rpms. Remember, what 3rd parties offer doesn't matter.

      Apache:

      Here you will find a nice webserver, with source downloads only and a handy windows installer... that is useless since it lacks ssl I might add.
      http://httpd.apache.org/download.cgi

      Bind:

      Good old source, and only source.
      http://www.isc.org/index.pl?/sw/bind/

      Linux:

      Again we have a choice, between source, and source.
      http://www.kernel.org

      Dvd::Rip

      On this one I admit he does helpfully link to 3RD PARTY binary packages where he can.
      http://www.exit1.org/dvdrip/doc/install.cipp #sourc e_download

      Gnome:
      http://www.gnome.org/start/2.6/

      I could continue, but I won't. Alot more projects at least have links to 3rd party binaries on their sites. I found TWO that included dependencies and had installers out of 15 projects I just checked (picking random things on my own system, all common).

      This needs resolved, that should be more along the lines of 15/15 with installers and all dependencies coupled with them.

    11. Re:Brian Jones by 0x0d0a · · Score: 1

      Remember, what 3rd parties offer doesn't matter.

      May I ask why you feel that this is the case?

    12. Re:Brian Jones by shaitand · · Score: 1

      Because no distro is all inclusive, NONE of them. And short of random installation, you really never find things browsing through a list like you get with yast or synaptic.

      A user needs to be able browse the web for "linux webserver" or some such, find something he likes and click on the official site for it, and download + install that thing.

      Even when the official site points to a 3rd party with rpms for instance. There is no quality control, nobody who works with the application is checking those packages. Often those packages have numerous dependencies or are all in all crappy and useless. More often than not they are outdated. But worst of all, if it's a popular project with a reputation, they can be considered a trusted source, but since they do no review of the 3rd party the rpms cannot be trusted.

      I might trust Apache, but if apache says this guy builds rpms, or has an rpm contrib directory (which they don't do with the main http_server but there ARE other things on their site they do this with). Then I can't trust there are no backdoors added.

    13. Re:Brian Jones by 0x0d0a · · Score: 1

      Because no distro is all inclusive, NONE of them.

      Yes, but the larger ones are becoming effectively so. I only very rarely use anything not packaged by Fedora or the associated repositories.

      And short of random installation, you really never find things browsing through a list like you get with yast or synaptic.

      [shrug] Maybe not, but you just type apt-get install [program name] if you want to install a program.

      Even when the official site points to a 3rd party with rpms for instance. There is no quality control, nobody who works with the application is checking those packages.

      This is why you use major third-party sources, not one-man random builds somewhere that aren't compatible. I use Fedora main, NewRPMS, Dag, ATrpms, and Dries.

      Often those packages have numerous dependencies or are all in all crappy and useless.

      Sure -- the dependencies are there for a reason -- so that you have all the software needed to use the package. You use something like apt (or yum, yup, emerge, or whatever your distro uses, I guess) and fetch and install all of it in one command.

      But worst of all, if it's a popular project with a reputation, they can be considered a trusted source, but since they do no review of the 3rd party the rpms cannot be trusted.

      [shrug] Hence the use of popular RPM sources.

    14. Re:Brian Jones by shaitand · · Score: 1

      "[shrug] Maybe not, but you just type apt-get install [program name] if you want to install a program."

      That assumes you already know what you want to install. And your right, most things you can name off the top of your head, will in fact be in the repository (assuming you can figure out what it's listed under, often it's not the programs name or some odd variation of it)... at least with debian or 3rd party repositories with fedora (not much is actually included with fedora). The problem arises when you want a program which accomplishes task x and you go googling for an answer, you'll find a program in notime flat.

      "Sure -- the dependencies are there for a reason -- so that you have all the software needed to use the package."

      Your reading me backwards, they do NOT include those dependencies, they simply require them. A properly made rpm doesn't have dependencies. As any experienced rpm packager will tell you ;)

      "[shrug] Hence the use of popular RPM sources."

      Takes me 5 minutes to find something not in those repositories, how about you?

      I'm afraid I fail to understand the logic behind an argument that it's ok to ignore parts of what constitute a complete project because you assume that the magic rpm fairy will take care of it all for you.

      Providing good rpms would be nice, but again, that is a packaging format and not an end user solution.

    15. Re:Brian Jones by 0x0d0a · · Score: 1

      The problem arises when you want a program which accomplishes task x and you go googling for an answer, you'll find a program in notime flat.

      Well, here's pretty much the process I recently followed. Way back in the day, I used to use yafc -- it supports sftp and a large number of authentication protocols that I use. Yafc was discontinued by the author. I'm not a huge fan of ncftp, which has been Red Hat's standard "enhanced" CLI ftp program for a long time. I googled around, and read a list of CLI ftp clients and found lftp. I read its feature list, and found that it did what I wanted. I typed apt-get install lftp. My system downloaded and installed all the software I needed.

      It's true that as recently as Red Hat 8, there were serious breaks in the packaging coverage, but there are really few packages these days that aren't covered by the major packagers.

      Your reading me backwards, they do NOT include those dependencies, they simply require them. A properly made rpm doesn't have dependencies. As any experienced rpm packager will tell you ;)

      You'd advocate static linking of all packages?

      Takes me 5 minutes to find something not in those repositories, how about you?

      I'm sure that something I use isn't in rpm format -- yeah, for instance, there's a script called "cvs2cl.pl" that generates GNU-style changelogs from CVS history logs. But, that's also just one perl script -- I dump it in ~/bin, chmod +x it, and I'm done. It's not something that one would screw up instealling.

      At one point, I remember mldonkey not being packaged, though it is now.

      And, of course, for anything that I'm hacking on I'm using copies from CVS (mutt, wine, etc), but if I'm doing that, I think it's reasonable for me to be familiar with the software.

      I'm afraid I fail to understand the logic behind an argument that it's ok to ignore parts of what constitute a complete project because you assume that the magic rpm fairy will take care of it all for you.

      Just WRT installation stuff, though I had to look way back in the thread to remember what we were originally talking about. Really, the magic RPM fairy *does* usually take care of me these days.

    16. Re:Brian Jones by shaitand · · Score: 1

      " though I had to look way back in the thread to remember what we were originally talking about."

      Aye we've wandered a little bit. I don't think either of us are trolling, we simply disagree. But I don't think either of us is convincing the other either.

  12. Wow by dago · · Score: 1

    So, when this guy wants to install something, he

    1. Read the doc
    2. Install it on a test box
    3. Test it

    Impressing, I wonder how much ppl do the same.

    Heck why do you think most products comes now with little or no printed documentation ?

    --
    #include "coucou.h"
  13. Documentation Is Needed, Though by Cranx · · Score: 3, Insightful

    Better documentation is clearly needed. It doesn't have to be dumbed down for 3-year-olds, but you shouldn't expect every user to be an accomplished C programmer, either. Somewhere in the middle is fine. Documentation that can be understood by a fairly smart, experienced, non-programmer is usually sufficient. Joe may be the master, but Joe is in Munich this week and Frank the network guy here needs to make a configuration change ASAP. If Frank can't do it without taking a C class and studying a large, obscure API reference for days, there is definitely a strong need for better documentation.

    1. Re:Documentation Is Needed, Though by shaitand · · Score: 1

      We need better docs than that. It does need to be dumbed down for 3yr olds. There should be a hand hold through installation, configuration examples, references (which include examples for everything they reference. And at the very least links to the same provided by the third party when knowledge of something 3rd party is required.

      Why? Not everyone is an idiot, but most people aren't "fairly smart, experienced". Most people are fscking stupid and admins are no exception, users are the very definition. But even if they were all fairly smart, nobody knows everything and I daresay that most have holes in their knowledge.

      You need to provide enough information to fill the gaps. A reference for those who don't need the holes filled is essential too (though it should have examples illustrating each of the options).

      Hell the biggest problem I have is "values" no matter what it is, all documentation seems to assume you know what unit they want the value specified in. If they were all bytes or kbytes or what have you, that would be fine. But SOME are bytes, SOME are kbytes, some are even mbytes, etc. Across the board with open source apps, they never seem to want to tell you that simple but very critical piece of information.

    2. Re:Documentation Is Needed, Though by Cranx · · Score: 1

      Documentation for inexperienced computer users would probably be better provided by the private publishing sector. Writing software documentation for those users is a monumental authoring task. If the market is that wide, there's probably money to be made by third-party authors who can tackle that level of writing. I would never expect programmers to EVER be able to provide that kind of documentation.

    3. Re:Documentation Is Needed, Though by shaitand · · Score: 1

      The programmers themselves should NOT be providing the documentation, they should be recruiting volunteers for that purpose.

      The documentation is for both experienced and inexperienced users, and assuming experienced users know ANYTHING about the program itself before reading the documentation is absurd.

      Full documentation, and no I'd completely disagree, it should NOT be a book sold by a 3rd party.

    4. Re:Documentation Is Needed, Though by Cranx · · Score: 1

      The programmers themselves should NOT be providing the documentation, they should be recruiting volunteers for that purpose.

      Unfortunately, the vast majority of software projects out there have the programmers themselves writing the documentation. It would be nice if things were otherwise, but that's how it is, and that's probably why documentation is such an issue right now.

      Full documentation, and no I'd completely disagree, it should NOT be a book sold by a 3rd party.

      You're misreading what I said and meant. Full documentation doesn't provide hand-holding tutorials through every single nook-and-cranny a user might need or want to learn about. Full documentation is just that: full documentation. Inexperienced computer users don't usually make much sense out of regular, full software documentation. They learn much better from "Dummy" books, and they progress from book to book as they raise themselves up in competence. I don't think software projects should be providing that sort of documentation; it's far too tedious. That should be left to the private sector. There's a lot of tedious work involved, and it's almost ALWAYS done best by experienced authors who make their living at it.

      Perhaps professional authors would like to join the open source movement and start authoring for OSS projects for no pay. I just wouldn't hold your breath waiting for that. More than likely, the best you can hope for is for the developers to provide better regular documentation, and leave the hand-holding to the professional authors.

    5. Re:Documentation Is Needed, Though by shaitand · · Score: 1

      If every nook and cranny isn't documented, how exactly is it you expect professional authors to learn them?

      "Perhaps professional authors would like to join the open source movement and start authoring for OSS projects for no pay. I just wouldn't hold your breath waiting for that"

      Professional programmers work on open source projects, some with and some without pay. What on earth makes you assume these things have to be done without pay?

      In many cases there is a commercial conflict of interests on open source projects though. Usually the prominent developers get paid for support (either directly or by co-authoring books), there wouldn't be as much demand for this with good solid documentation.

    6. Re:Documentation Is Needed, Though by Cranx · · Score: 1

      If every nook and cranny isn't documented, how exactly is it you expect professional authors to learn them?

      You do realize that authors today do this very thing? It isn't a matter opinion that they do: it's a fact. They learn the hard way, the way experienced computer users do, and by interviewing users familiar with the software and even the developers themselves. Then they author something more digestible for inexperienced users.

      Professional programmers work on open source projects, some with and some without pay. What on earth makes you assume these things have to be done without pay?

      How do you propose a dedicated, professional author be paid for his/her work if they don't write a book and get paid for it?

      In many cases there is a commercial conflict of interests on open source projects though. Usually the prominent developers get paid for support (either directly or by co-authoring books), there wouldn't be as much demand for this with good solid documentation.

      I haven't seen many books written for projects by the developer's themselves. The vast majority of technical books for open source software are written by third-party authors, who get paid for their work directly.

    7. Re:Documentation Is Needed, Though by shaitand · · Score: 1

      "experienced computer users do, and by interviewing users familiar with the software and even the developers themselves"

      I don't know many experienced computer users who do it that way. Most I know beat the software with a stick and if all else fails check the documentation, if that fails check google. If that fails check other engines. If that fails, find other software.

      Dear god, the very idea of communicating with other users BEFORE you are knowledgable enough to hold your own is offensive.

      "How do you propose a dedicated, professional author be paid for his/her work if they don't write a book and get paid for it"

      The same way professional programmers working on open source projects are getting paid for it. The documentation and simplified installation are every bit as important the program itself.

      The program is worthless if nobody can use it. Or if only people who have learned through a chain of word of mouth, starting from the developers, can use it.

      "I haven't seen many books written for projects by the developer's themselves. The vast majority of technical books for open source software are written by third-party authors, who get paid for their work directly."

      I've seen plenty, check o'reilly, there are almost no books pertaining to open source that aren't co-authored by a prominent project developer. Now if you were thinking something along the lines of dummy books, I certainly wasn't talking about that.

      For that matter I'm not even sure the dummies series of books DESERVES existance. O'Reilly books are better examples. O'Reilly books don't require you to be experienced to understand, but aren't dumbed down to the point of being useless either.

      There are three reasons I don't believe books are the answer to documentation. 1, it takes too long, by they time they go through all the levels of red tape, editing, rewritting, (loop 200000 times) and then go through a similar process except pertaining to actual printing and advertising etc. They are outdated by the time they hit the shelves.

      Second, nobody is going to use an application if they have to buy a book to get it installed and in a basic functional configuration. Rule of thumb, if there is any chance a company with less than 500 employees might do it, or a user at home, then it's a basic functional configuration and nothing involved should be considered "advanced".

      Third, there are a shitload of books out there, how am I to know which is the up to date project approved documention for "Program X". Or are you suggesting that as well as providing no useful information for actually running a program, the project should not even have a 3rd party they ensure has that available?

      Of course this level of documentation seems daunting, at present it IS for most projects. Ease of documenting and ease of use go hand in hand.

      Simplify the use of the software, and you've simplified documenting that use. Reduce the number of "exceptions" and places things can break, and you've greatly simplified documentation.

      That is one of the most obvious mindsets for combating ease of use problems and one ignored for the most part. It's one that lets us utilize our laziness to achieve productivity.

      Want to make your software easier to work with but don't know how? Start writing documentation and redesign your interfaces to make documentation easier, magically the software becomes easier to use.

    8. Re:Documentation Is Needed, Though by Cranx · · Score: 1

      Now I think you're just trolling, or not reading what I am writing very closely.

      I don't know many experienced computer users who do it that way. Most I know beat the software with a stick and if all else fails check the documentation, if that fails check google. If that fails check other engines. If that fails, find other software.

      This is precisely what I said: most experienced computer users learn the hard way. This is how authors do it and then they write documentation that is easier for people to understand.

      The program is worthless if nobody can use it. Or if only people who have learned through a chain of word of mouth, starting from the developers, can use it.

      What is your point? Have you not read anything I've written?

      I've seen plenty, check o'reilly, there are almost no books pertaining to open source that aren't co-authored by a prominent project developer. Now if you were thinking something along the lines of dummy books, I certainly wasn't talking about that.

      Again, you didn't read what I wrote. I said authors interview developers as part of their research to write their books.

      For that matter I'm not even sure the dummies series of books DESERVES existance. O'Reilly books are better examples. O'Reilly books don't require you to be experienced to understand, but aren't dumbed down to the point of being useless either.

      That's for each person to decide for themselves. I have heard they help a LOT of people, and they are EXTREMELY popular.

      There are three reasons I don't believe books are the answer to documentation. 1, it takes too long, by they time they go through all the levels of red tape, editing, rewritting, (loop 200000 times) and then go through a similar process except pertaining to actual printing and advertising etc. They are outdated by the time they hit the shelves.

      This is flat-out untrue, and now I am sure you are a troll and/or an idiot. Books are an invaluable resource for everyone, even for highly experienced programmers.

      Second, nobody is going to use an application if they have to buy a book to get it installed and in a basic functional configuration. Rule of thumb, if there is any chance a company with less than 500 employees might do it, or a user at home, then it's a basic functional configuration and nothing involved should be considered "advanced".

      You still aren't reading what I wrote. Successful projects provide enough documentation for experienced computer users. The entire topic has been about improving the documentation for OPEN SOURCE PROJECTS to allow them to be used by inexperienced computer users.

      Inexperienced computer users can get Apache running. Only because books are available which make it simple and straight-forward. Prior to those books being available, you had this: http://apache.org/. Tell me an inexperienced computer user can get Apache going from the docs provided by the Apache foundation. They can't. Third-party commercial documentation is the only way to provide that sort of documentation, unless a professional author wants to donate his/her time to the project, or a particularly talented developer has the time for it.

      Third, there are a shitload of books out there, how am I to know which is the up to date project approved documention for "Program X". Or are you suggesting that as well as providing no useful information for actually running a program, the project should not even have a 3rd party they ensure has that available?

      That's why you read book reviews and talk to other people. Why are you asking me? You don't know how to select a book?

      The rest of your drivel is annoying the shit out of me and is becoming plain non-sensical. I don't mind exchanging ideas, but you're just arguing to hear your own voice, I think. You aren't paying attention to anything I say, and you are saying ludicrously stupid things like "I don't think books are the answer to documentation."

      Get your fucking head on straight and then continue the conversation, or just go fuck off.

    9. Re:Documentation Is Needed, Though by shaitand · · Score: 1

      "This is precisely what I said: most experienced computer users learn the hard way. This is how authors do it and then they write documentation that is easier for people to understand."

      No you defined the hard way as talking to other experienced users and the developers.

      "What is your point? Have you not read anything I've written?"

      The point being that is exactly how you stated these authors are supposed to learn. The hard way I defined is impossible since there is no useful documentation (at least not that is useful without already knowing the answers), and the information found on google is usually inaccurate or extremely out of date for a project that has been around any length of time.

      "This is flat-out untrue, and now I am sure you are a troll and/or an idiot. Books are an invaluable resource for everyone, even for highly experienced programmers."

      Books on programming languages yes, languages change slowly overall. Individual open source applications often change rapidly. The books come out at best 6 months to a year after a version of the application comes out. By that time there may already have been several versions released (depending on the project).

      Granted not everything moves that fast, but more projects than not do. And follow the philosophy that if there is signficant gain in doing so they can and WILL break compatiblity for that gain.

      "You still aren't reading what I wrote. Successful projects provide enough documentation for experienced computer users. The entire topic has been about improving the documentation for OPEN SOURCE PROJECTS to allow them to be used by inexperienced computer users."

      Providing enough documentation to struggle through and providing adequate documentation that one does not have to struggle are entirely different things. Perhaps this topic has magically in your own mind turned into something concerning inexperienced users, but the topic is about poor documentation, it does not classify. Within your own mind you've created a world in which it's acceptable to spend hours searching for the answer to a common problem or simple configuration option. The rest of use, experienced or otherwise don't believe simply being possible to find the answer is enough, but that it should actually be SIMPLE to find the answer.

      "Get your fucking head on straight and then continue the conversation, or just go fuck off."

      If that means agreeing with someone who can't remember what he himself said in his own post. And if you can't come up with anything better to contribute than calling me a troll and an idiot as opposed to actually providing a counter argument, then I most definately will do so. Because obviously continuing this dicussion is a waste of time.

    10. Re:Documentation Is Needed, Though by Cranx · · Score: 1
      No you defined the hard way as talking to other experienced users and the developers.

      No, I said they learn the hard way AND by interviewing experienced users and the developers. Here's what I said, verbatim:

      They learn the hard way, the way experienced computer users do, and by interviewing users familiar with the software and even the developers themselves. Then they author something more digestible for inexperienced users.


      Books on programming languages yes, languages change slowly overall. Individual open source applications often change rapidly. The books come out at best 6 months to a year after a version of the application comes out. By that time there may already have been several versions released (depending on the project).


      Books don't go so far out of date they become useless to an inexperienced user learning how to use an open source application. The book teaches them how to use it; project reference shows them the current, precise way of doing a particular thing.

      You're missing the point of virtually everything I say and turn everything into a point of contention while not adding to the discussion at all. I'll lay out it again; this is everything I've said right from the beginning:

      Open source project developers need to provide better documentation. It needs to be good enough for experienced computer users, but shouldn't require users to be C programmers and shouldn't require them to study source code. Documentation good enough for inexperienced computer users is best provided for by third-party private authors and publishers; they have excelled in this arena historically, and will continue to do so (O'Reilly is an excellent example of this).

      What the hell is there in any of that above to contend with!?!?
  14. About documentation by fluor2 · · Score: 3, Funny

    The 10 laws of documentation of an GNU program:

    1. Add a 3-line FAQ for expected "bugs"
    2. Add "We need documentation authors" to README
    3. Wait for documentation to be written when you are finished with v1.0
    4. Delay documentation since it would break with the current v1.1 development
    5. You don't bother doing the documentation, since you've allready documented most in the source.
    6. When it works, you just publish the source and hope somebody else will do the rest.
    7. Make a website, create a logo and start having a nice time making design and stuff. When finally creating the documentation/index.html, just add Under Construction, since what you really want is a even better logo.
    8. Write some complex documentation, and hold back the real tutorials and publish them in a book.
    9. Spend some time with emacs, to finally understand that it sucks to write documentation when you have to think of line-breaks in a text document.
    10. Include an myfile.conf.example which you think will cover most questions anyway. Do forget on purpose that many lines need linebreaks at end of text, even if it's the last line. And also forget to add that TAB's are not supported in your .conf file.

    1. Re:About documentation by Anonymous Coward · · Score: 0

      Ahem, *GNU* programs have some of the best documentation around. I think you meant documentation of a "typical sourceforge project" or something.

  15. Linux by Selfbain · · Score: 1

    I've tried to switch to Linux a few times but I keep running into problems since there doesn't seem to be any good tutorials (short of purchasing books) that tell you how to use it. Not only that it seems that every time I attempt to install a program, I need to find five other programs and for each of those programs I need five libraries in a seemingly never-ending spiral of installations.

    --
    Well, it has never been successfully tested.
    1. Re:Linux by Fiz+Ocelot · · Score: 1
      it seems that every time I attempt to install a program, I need to find five other programs and for each of those programs I need five libraries in a seemingly never-ending spiral of installations.

      That is called dependency hell. Fortunately now we have great tools like apt-get, yum, portage, and others. So installing a package can be as easy as apt-get install package_name. I think the easiest way for you to try it is burn a knoppix 2.6 iso.

  16. It's the UI, stupid! by NanoGator · · Score: 0, Redundant

    UI's more important than documentation. You want a sysadmin to use your stuff, don't make him have to search on Google to find what he needs.

    --
    "Derp de derp."
  17. tough to write good docs by Anonymous Coward · · Score: 3, Insightful

    It's tough to write good docs. Once a client of mine wanted very thorough documentation (API docs, user's manual, etc) for a project beyond the README's and INSTALL's I usually bundle with the code.

    I immediately doubled the estimate. Why? Because you are basically writing the logic of the app all over again, except in this funny programming language called "English". And when you update one you have to update the other. Not to mention you have to update your unit tests too (which is another thing most programmers don't do).

    I'm not trying to make excuses or saying that we should skip documentation, it's just that it doesn't "scratch the itch". I don't believe that open source exists because of altruism, but because somebody solved their own problem and didn't keep it from the world. So we need folks who are truly interested in documentation (like technical writing geeks).

    As open source grows we need to find all sorts of folks: technical writers, usability experts, designers, artists, testers.... we should also not be afraid to hold "fundraisers" to hire an outside team to do this. Wouldn't it rock if Mozilla, KDE, Gnome, etc., had a *thorough* going over with a talented usability team?

    Anyway there's one concrete piece of advice I can give any open source programmer, especially if its not a gui-based tool: PUT EXAMPLE USAGE ON THE FRONT PAGE OF THE WEB SITE!!!

    This annoys me to no end. Too many sites just have blocks of text describing how great their stuff is.. but no example of setting up a config file, running it from the command line, etc.

    I would love to see a step-by-step up and running document, nothing fancy. Show some examples of what your config files and so forth look like. How about screen shots of command line operation? If it's too complicated to show in a few pages, *simplify it*.

    The quicker I can get your program up and running, and the less work I have to do, the less I have to hack in my existing configs and so forth, the faster I will be sending you patches.

    Positive example: The awesome Ruby on Rails framework has a setup *movie* showing exactly how to go from zero to app in 10 minutes. I wish all projects had something like that, and more importantly, I wish all projects were SIMPLE enough to demo in a few minutes.

    Negative example: I was wondering if Perl's Template Toolkit was the right template system for me. I was looking for a very basic kit that could mix Perl directly with HTML (a-la PHP) with no fluff and bloat. I couldn't see any example on the front page and after a minimal amount of searching, I still had no idea what it was like to actually *use* the damn thing. Just bullet lists of features (which are shared by pretty much all similar systems).

    So, as a first step down the road of good documentation, try this user-focused idea: give some examples up front.

  18. Re:assholes by Ender+Ryan · · Score: 0, Offtopic

    Get bent.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  19. I have only one thing to say... by eviltypeguy · · Score: 2, Funny

    RTFM

  20. He's half right by dacarr · · Score: 4, Insightful
    It's not just open source, but closed source. And the problem I run into when looking at software is what I call Oualline's Law of Documentation:

    * 90% of the documentation does not exist
    * Of the remaining ten percent, 90% is obsolete or inadequate
    * Of all the documentation, the remaining 1% is written in a foreign language you cannot understand.

    We know about the first and third points, but on the second point, it's either missing examples (i.e., man pages, as another user cites), or just tells what you can do with it and little else without bothering to take you through the steps (much closed source), with explanations on what certain functions do that are vaguely important.

    To note, the "law" was published in Steve Oualline's Practical C Programming by O'Reilly books. I modified it slightly - the third point notes "Chinese", but there's a good probability that somebody reading this can read Chinese. =)

    --
    This sig no verb.
  21. Documentation is bad... by Hard_Code · · Score: 1

    ...because if it is hard to write the documentation, that is a clue that the software itself perhaps isn't designed in the best manner...and we couldn't have shocking revelations like that now could we...

    --

    It's 10 PM. Do you know if you're un-American?
  22. You really are clueless, aren't you? by fmaxwell · · Score: 1

    You actually wrote:

    Some (esp *cough* power users *cough* of some commercial *cough* operating system *cough*) users simply cannot grasp the concept that skimming through headers and comments in sources is the best documentation there is.

    If you weren't just pretending to be a "l33t h4ck3R" to impress your little Slashdot buddies, you would recognize that an open source project like OpenOffice encompasses about 30,000 files and 9 million lines of source code. Yeah, it will be really practical to skim the comments and headers in that, won't it? You can't write software, so quit pretending. If you actually could write software, you would have recognized that many open source projects consist of millions of lines of code and tens of thousands of files -- and you would have never said anything so absurd.

    1. Re:You really are clueless, aren't you? by Creepy+Crawler · · Score: 1

      Or wose yet, parts of code that dont make sense. Samba's a great example... they had to re-create EVERY bug Microsoft did in their implementation.

      I really do like Samba's gui (SWAT), but I think even a simpler interface needs to be made. Allowing the users themselves to control what they share in their tree would be great. But nevertheless, there needs to be a better gui on SWAT (one for simple sharing).

      --
  23. This would encourage better design by billcopc · · Score: 2, Interesting

    By having to write documentation, coders might actually realize how frickin' contorted their config files are and try to clean it up rather than have to document hundreds of dark options with "zarp_blorg_snootle = uHb ; This is a hack"

    I know it's not 'fun' or 'easy', I code in random bursts too, and my first versions are always "unreadable but it works great!", but if I use the app at all then I do a complete rewrite for the v2.0, since the v1.0 was more of a design-as-you-code exercise, and the resulting code is always cleaner, faster, and much more easily extendable/reusable.

    Heck, I did that last week by accident. I had written a fairly long perl script to automate the creation of a full-blown webhosting account (vhost, email, ftp, templates etc). Wouldn't you know it, in my sleepy daze I deleted the script just as I had finalized it. Well I rewrote it in 1/10th the time now that I knew exactly what I wanted it to do, and it was shorter (more modular functions) and less bug-prone.. I even threw in a few command-line options so I don't have to edit the config file all the time.

    It's daunting, but some big projects could really use a fresh start, with proper documentation maintained from the beginning.

    --
    -Billco, Fnarg.com
  24. Re:Commenting, too by Bastian · · Score: 1

    I have contacted a couple of smaller projects offering to work on documenting their code, but never got a reply.

    I've gotten to the point on stuff like this that I try and avoid projects with bad documentation and/or commenting. I figure if they don't want their project to be usable then they probably don't really want people to be using their project all that bad.

  25. Re:assholes by zombie-m · · Score: 2, Insightful

    Maybe it's just the tone of the parent's post that got it modded "Troll", but if I had mod points today, I'd probably be modding this "Insightful" instead.

    Not every developer's goal is to advance OSS. I have no data to back this up, but it seems to me that many probably just wrote a program to do something they wanted. The fact that they released it in hopes that others may find it useful should not obligate them to cater to every person that feels that they have the right to have their hand held while they use said program.

    I'm not going to lie and say that good documentation is not needed. It is. In many places it's lacking. I'm not going to say that I look through the source code any time I try to use a program with little/no/bad documentation. I usually don't, and just look for something else. But to assume that every developer of an open source program needs to dedicate their time to something that YOU want is a little selfish, IMO.

    I wonder how many of these people that whine and complain about bad documentation have actually written any documentation OR code. They obviously feel the need to write something though, so maybe instead of bitching about the situation, they should do something to improve it. Of course, I think we all know which is the easier of the two options...

  26. I would take that paragraph as a joke by dh003i · · Score: 1

    That paragraph about users "reading the source-code for documentation" is the most idiotic thing I've ever read in my life. Unfortunately for you, you had to group it along with a series of intelligent comments above it. Did your brain just crap out that paragraph? I wish I had my moderator points still, because I'd rate this as over-rated.

  27. Gentoo as an example by dh003i · · Score: 1
    Gentoo is an excellent example of the effects of good documentation. Gentoo has one of the most user-unfriendly installations that exists. I mean, it is worse than Debian, and Debian's supposed to be considered a nightmare. Almost all installation and setup in Gentoo is at the command-line.

    Now, if it wasn't for Gentoo's superb documentation, the number of people who have Gentoo installed would be in the hundreds (if that) not the thousands. Because of Gentoo's excellent documentation, it is possible for a newbie to GNU/Linux (if he knows his hardware) to install Gentoo on his computer.

    Without excellent documentation (and very helpful forums), does anyone really think that anyone other than hard-core developers would be capable of installing Gentoo on their computers?

  28. Oh, the humanity-The Mother in Law of Critics. by Anonymous Coward · · Score: 0

    "Has it occurred to you that maybe people need to actually understand a product before they can write documentation for it? "

    Well I guess that explains why commercial software documentation's so bad. The documentation writers don't understand the product.

    Seriously part of being a documentation writer is an understanding of the subject, be it butterflys, or the latest geewizz program. This is a job requirement FOSS pretty much has the same requirement. The writers need to know not just writing, but the subject matter they're writing about.

    That means that on one end the writer speaks the language, and on the other translates to an output the audiance can understand.

    Now we all know that in FOSS everyone plays their part according to their strengths. The coders code. The artists draw. The testers test. So why are people like the author of the article not playing to their strengths and documenting? One person can't be documenter, artist, UI designer, marketer, customer service, QA, and bring home the bacon. FOSS works because we all help. Not stand on the sidelines, and at best stand silent, and at worst criticize like a mother in law.

  29. Oh, dear. by lorcha · · Score: 1
    No, it's all about having someone outside the company to blame when things go wrong.
    That and $3.79 will buy you you a #1 at McDonalds.

    Seariously, that "we have someone to blame when the stuff hits the fan" is the biggest fallacy of commercial software ever. The last time a windows security flaw brought down your entire organization (happend to several clients of mine) did Microsoft do anything about it? Did they fix you up and bring you back online? Did they compensate you for lost time? Lost business? Did they even give you a free Windows license?

    Nofuckinway. They didn't give you shit. In fact, you prolly had to bring in outside help at considerable expense to get you back online quickly like my last client. Did Microsoft so much as even apologize for writting insecure software? Hah.

    So that is why I laugh so hard when some idiot says an advantage of commercial software is some type of corporate security blanket. Trust me, your vendor doesn't care and won't do anything to help you out of a jam when it is clearly the fault of their lousy software package.

    --
    "Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
    1. Re:Oh, dear. by pipingguy · · Score: 1


      So that is why I laugh so hard when some idiot says an advantage of commercial software is some type of corporate security blanket. Trust me, your vendor doesn't care and won't do anything to help you out of a jam when it is clearly the fault of their lousy software package.

      I agree. The point I was trying to make was that management can always use the "but everyone else uses X software", sort of the "nobody-ever-got-fired-for-choosing-IBM" rationale.

  30. Re:assholes by Wudbaer · · Score: 1

    I think you would be completely right if not everytime I'm considering a product to do whatever someone jumps at me and screams "Don't use that ! This is evil closed source ! Use the great open source Wroomdongle ! It will do everything you need, is super secure and will cook you coffee !" When I try to install Wroomdongle, I have to fight more often than not with the often inadequate docu, questions are answered with RTFM (great, the TFM is giving me all that headache) or "oh, you are using 1.1, 2.5 is the place to be ! There all the issues you have are fixed. Oh, one thing: The docu on the Web site is outdated, it only covers 1.9).

    Either you just code for your personal fun and give the code away so someone can love it or leave it or you really want to create THE solution for whatever problem (and praise it loudly as such) and accept certain obligations. You cannot have both.

  31. RTFM == RTFSC ?! by KermitJunior · · Score: 1

    I can't believe what all I have read here in replies. Many times the answer to a question is RTFM and now I'm reading RTF-Source-Code? Come on, people!

    I wrote a howto for a build-a-live-cd-on-the-fly called Intellibuild http://ibuild.livecd.net/

    iBuild does exactly what I want, but I didn't really have time to read the code, and most people who use it don't either. I realized this and spent hours and hours testing and writing the howto (a bit outdated, atm) and it allows people (who could read the code if they wanted and had the time) to start being productive within a few minutes instead of a few hours.

    I wrote a sample howto and sent it to the programmer to show I was serious, which is needed (someone below mentions a lot of blown smoke from volunteers).

    The fact is true... OSS needs better documentation, but the developers shouldn't necessarily be the ones doing it. THey should CODE.. that's what they do. An end user that writes the way end users read should document with access to the developer.

    --
    There is a Universal Life Value Check it
    1. Re:RTFM == RTFSC ?! by pebs · · Score: 1

      Assuming you're actually replying to me, and not just replying to the first post in the thread... You're completely missing the point of what I said. The point is that ALL types of software have the problem of not enough good documentation. You may not see it with closed-source software, because its not as visable as say, all the projects on SourceForge.

      In some cases, OSS has an advantage because you at least have a fallback of being able to read the source; though this probably only applies to small projects, but there are enough of those that it helps.

      So saying "OSS needs good documentation" is like saying "software needs to be good." Pretty fucking obvious. And its a problem for ALL software, no need to single out OSS.

      --
      #!/