Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Linux Software

It's the Documentation, Stupid! 105

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!'"
This discussion has been archived. No new comments can be posted.

It's the Documentation, Stupid!

Comments Filter:
  • In other news... (Score:3, Insightful)

    by pebs ( 654334 ) on Wednesday July 28, 2004 @02:27PM (#9824122) Homepage
    someone writes an article saying closed source developers should do the same!
    • Pebs,

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

      Bob-
    • Re:In other news... (Score:3, Interesting)

      by merdark ( 550117 )
      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
      • 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.
        • 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.

          • "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.
            • by drsmithy ( 35869 )
              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 s

              • 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.
      • 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
    • 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 documentatio
    • 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/ [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
      • 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 pro
  • I want to write docs (Score:5, Interesting)

    by kisielk ( 467327 ) on Wednesday July 28, 2004 @02:40PM (#9824270)
    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.
    • As posted a bit further down, my project could benefit from some further docs.

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

      I will probably address this, but if you're willing to, it shouldn't take too much time. Let me know!
    • Comment removed based on user account deletion
    • Mozilla [mozilla.org] and OpenOffice [openoffice.org] 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 [gimp.org] could also use some documentation help to bridge the gap for Photoshop and PSP users.
    • The Gnome Documentation Project [gnome.org] is also looking for people. In fact, pretty much every largish project in the free software world seems to be looking for documentors.
    • 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.
    • 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?
      • 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.
    • 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.
    • 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 [ibiblio.org] 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 si
  • by daeley ( 126313 ) * on Wednesday July 28, 2004 @02:40PM (#9824279) Homepage
    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.
    • 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?

      • by styrotech ( 136124 )
        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?
  • by UnknownSoldier ( 67820 ) on Wednesday July 28, 2004 @02:43PM (#9824312)
    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/ [arcanejourneys.com]
    • by tmtresh ( 615002 )
      Isn't that what grokdoc [grokdoc.net] is for, to begin a documentation project? Why don't ya'll just contribute to that?
  • Corporate Idiots (Score:4, Insightful)

    by den_erpel ( 140080 ) on Wednesday July 28, 2004 @02:47PM (#9824369) Homepage Journal
    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...

    • 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.
      • 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 busine


        • 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.
    • 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.

      • (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 ef
        • 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

          • 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 i

        • 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.
      • 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).
        • 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.
    • Comment removed based on user account deletion
      • 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).
    • 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.
  • 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 [mailto] and we'll see if I can't help you out. If your program has an ebuild for Gentoo, that would be a bonus
  • by mindhaze ( 40009 ) on Wednesday July 28, 2004 @02:50PM (#9824397) Homepage Journal
    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 [nosleep.ca], 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!
    • 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 figur

  • Code docs as well. (Score:3, Insightful)

    by LincolnQ ( 648660 ) on Wednesday July 28, 2004 @02:51PM (#9824408)
    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.
  • Brian Jones (Score:3, Interesting)

    by 0x0d0a ( 568518 ) on Wednesday July 28, 2004 @02:53PM (#9824425) Journal
    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?
    • Comment removed based on user account deletion
      • by Anonymous Coward
        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.
      • 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.
    • Re:Brian Jones (Score:4, Interesting)

      by shaitand ( 626655 ) on Thursday July 29, 2004 @12:44AM (#9828667) Journal
      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.
      • 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 th
        • "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*."

          Althou
          • 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 ar
            • "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.
              • 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.
                • 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
                  • Remember, what 3rd parties offer doesn't matter.

                    May I ask why you feel that this is the case?
                    • 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 packag
                    • 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 quali
                    • "[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
                    • 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
                    • " 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.
  • by dago ( 25724 )
    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 ?

  • by Cranx ( 456394 ) on Wednesday July 28, 2004 @03:04PM (#9824563)
    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.
    • 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.
      • 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.
        • 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.
          • 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 an
            • 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 sou
              • 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 so
                • "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 yo
                  • 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 un
                    • "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 th
                    • 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. Individu

  • by fluor2 ( 242824 ) on Wednesday July 28, 2004 @03:08PM (#9824603)
    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 [amazon.com].
    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.
  • 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.
    • 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.

  • 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.
  • by Anonymous Coward on Wednesday July 28, 2004 @03:18PM (#9824743)
    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 [rubyonrails.org] 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 [template-toolkit.org] 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.
  • by eviltypeguy ( 521224 ) on Wednesday July 28, 2004 @03:45PM (#9825114)
    RTFM
  • He's half right (Score:5, Insightful)

    by dacarr ( 562277 ) on Wednesday July 28, 2004 @03:57PM (#9825292) Homepage Journal
    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. =)

  • ...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...
  • 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
  • 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

"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell

Working...