[Date Prev][Date Next] [Chronological] [Thread] [Top]

Documentation



Dave Horsfall wrote:
Which in turn illustrates the dichotomy of the problem: those in the best position to document something i.e. the developers themselves are the very ones who cannot (because they're too busy) or should not (because they are too close to it, and take things for granted). This got drilled into me around 25 years ago, at a DEC device driver course.

I think that's a false dichotomy. Software has bugs, we file bug reports, and the bugs get fixed. If docs are missing something because a point has been taken for granted, it's no different - someone files a bug report against the doc, and the doc bug gets fixed. The process is always the same, and it's driven by the same thing - user feedback. No bug reports, no fixes.


The point about developers being too busy is only peripherally relevant - everything in the Project was contributed at some point or another. Yes, developers are busy; no, you should not expect "someone else" to contribute everything. If you want something addressed, it's up to you to make it happen.

On the other hand, Open Source has no official Documentation Department.

On the gripping hand, end-users will document that which they do not understand...

Which is why I always harp on these points:
1) don't blindly follow advice that is given without an explanation of the rationale behind the advice.
2) don't give advice without an explanation.
3) don't create documentation in a vacuum - submit it to the Project so that it can be reviewed, corrected, and incorporated.


Easy answers tend to be the least useful in the long run. "RTFM" answers are given for a reason - to make you think, and to make you learn. The problem with most HOWTOs (the ones that aren't completely wrong, anyway) is they tend to just list a sequence of steps, without any explanation of why those steps work, why their particular sequence was chosen, etc.

As a quick example, if you were faced with a black box that takes one number as input and spits out another number as output, and you were given a sample set of inputs and outputs:
1, 2, 3, 4, 5, 6, 7, 8, 9
1, 0, 9, 0, 25, 0, 49, 0, 81
it may not be immediately obvious to you why those outputs are as they are. If someone then asks you "what will be the output for an input of 15" you might be hard-pressed to come up with the answer.


On the other hand, if someone were to tell you "the rule for this black box is that for any even number, the output is zero, and for any odd number, the output is the square of the input" then you can easily apply that rule to any arbitrary input.

HOWTOs without detailed explanations are like the black box with just a short list of data points. They don't teach you anything, they only give you a fixed set of answers to a fixed set of questions. When you're faced with a new question that's not on their list, you're lost.

It's always important to understand the reasons behind the answers.
--
  -- Howard Chu
  Chief Architect, Symas Corp.  http://www.symas.com
  Director, Highland Sun        http://highlandsun.com/hyc
  Chief Architect, OpenLDAP     http://www.openldap.org/project/