I'd like to reply to comments made by several posters:

First of all, non-funded open-source projects (which is what this is)
are usually done because someone needs a tool *themselves*. That person
clearly does *not* need documentation.
The truth is, *every* project, your own private projects, or someone else's *needs* documentation. Its just fine if you don't do it on your private projects, because you aren't affecting anyone else. But as soon as you bring up a community around it, ask for contributors, etc., it becomes a shared, formal project. As soon as that project is shared, the knowledge of its usage needs to be shared. Documentation is non-negotiable.

If *you* need documentation,
that's not the problem of the person writing the software.
It absolutely is. They have the knowledge. They know how it works -- moreover, they know how it is *supposed* to work. Another party cannot account for that.

In practice
developers do write some documentation themselves; in some cases the
documentation is very good. However it's not something that a user
community can *demand* of the unpaid creators of a tool. And neither can
we users demand that the developers delay releasing functionality they
want because they haven't documented it enough for us to use.
First off -- this isn't about economics, its about the pursuit of excellence in development, and doing a project right. If someone wants to share a project, and invite my cooperation, feedback, and submitting of code, which I have already in my first month of using it, then I see no problem whatsoever in requesting that the project provide documentation commensurate with the level of feature.

Secondly, this is open source. If you really want to know how a
particular piece works, read the code. It's the final and official
documentation. Nothing is being hidden from any user of the software.
This statement right here summarizes everything that's wrong with the attitude surrounding open source. The point of open source is not to trade the time you would have developed something on your own with time instead going on an easter egg hunt trying to figure out how something works. You turn everyone into a developer that way, and you burn everyone's time that they either could have been writing their own custom solution which would meet all their own needs, or time they could have been contributing to the project and making it better. Having to tinker, dig, and read source code just to figure out how to use something is just trading development time for Google time -- and you end up paying big money either way.

There is one reason and one reason only for no or poor documentation on any product, commercial or not: laziness. Neglect, that's it.

Thirdly, documentation is *never* complete. There's always someone who
Not a reason not to document, and anyway, it isn't true. Documentation can be as complete as the code. There's no magic to that.

And fourthly, the developers are often *not* the best people to write
the documentation. For someone who knows all the details of an
implementation it's quite hard to step back and write good introductory
tutorials.
Absolutely they are. Especially in open source, they are the ones who know how something works, and is supposed to work. You cannot have someone who doesn't understand the product document it. What you are referring to is the inability of many developers to communicate concepts effectively, which is an entirely different issue. If a developer can't communicate their thoughts, well then, that's something they need to work on. But it doesn't mean you lower the bar on your project.

Just about every successful commercial product ever released has had
books about it published *months to years* after the product was
released. MS-Office tutoruals, RedHat administration guides, Hibernate
"developers notebooks". Continuing the documentation process after the
product is released is *normal*.
Not analog. Because other projects were bad, doesn't mean you should aspire to the lowest common denominiator. Because there's a bum drinking a 40 oz of Colt 45 out of a paper bag down the street doesn't mean that's a good reason for all of us to do it.

The most important piece is the first, though. As users we shouldn't
demand but instead contribute. Updating the main site directly isn't
possible, but improving documentation via a wiki is.
I'll reiterate: you cannot document accurately and completely if you don't know the full scope of feature, which is clearly locked inside the heads of a few developers. The web site doesn't even come close to describing things to the point where someone could follow up with documentation. If I could document maven without having to spend months upon months trying to elicit answers to questions and Googling the great unknown for Maven 101 information, I probably would. As it is, I'm about a gnat's eyebrow away from writing my own custom alternative to maven. It doesn't compute -- for the great product maven is, the lack of documentation has turned the experience into a huge time pit. Every problem is a new plugin and a new configuration option or file and a new frontier of undocumented stuff, and a whole new cycle of trial and error.

Please understand that my comments are not directed at any person, they are directed at an attitude I have seen perpetuated throughout my career, which is negative. Let's call it what it is -- the lack of documentation is just cutting corners. Its trading away completeness, and excellence in a project for what is fun, and/or what we aren't willing to wait for. The idea that because something is free, or open-source, that it suddenly becomes this new entity that no one needs an instruction manual for is just ridiculous. Its all just a piece of software. And as a comment on a completely different issue, if developers are going to discard the responsibiility to communicate their thoughts, ideas, and designs well, you can say goodbye to your jobs, because you've just severely commoditized whatever you have to offer as a developer by eliminating the primary reason not to send your job overseas (effective communication).

Whatever is worth doing, is worth doing well.

Brad

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to