Unix documentation is, at present, a mess.
Between man, ms, mm,
TeX, Texinfo, POD, HTML, and DocBook, the
documentation master files on modern Unix systems are scattered across
eight different markup formats. There is no uniform way to view all
the rendered versions. They aren't Web-accessible, and they aren't
cross-indexed.
Many people in the Unix community are aware that this is a
problem. At time of writing most of the effort toward solving it has
come from open-source developers, who are more actively interested in
competing for acceptance by nontechnical end users than developers
for proprietary Unixes have been. Since 2000, practice has been
moving toward use of XML-DocBook as a documentation interchange
format.
The goal, which is within sight but will take a lot of effort to
achieve, is to equip every Unix system with software that will act as
a systemwide document registry. When system administrators install
packages, one step will be to enter the package's XML-DocBook
documentation into the registry. It will then be rendered into a
common HTML document tree and cross-linked to the documentation
already present.
Early versions of the document-registry software are already
working. The problem of forward-converting documentation from the
other formats into XML-DocBook is a large and messy one, but the
conversion tools are falling into place. Other political and
technical problems remain to be attacked, but are probably
solvable. While there is not as of mid-2003 a communitywide
consensus that the older formats have to be phased out, that seems the
likeliest working out of events.
Accordingly, we'll next take a very detailed look at DocBook and
its toolchain. This description should be read as an introduction to
XML under Unix, a pragmatic guide to practice and as a major case
study. It's a good example of how, in the context of the Unix
community, cooperation between different project groups develops
around shared standards.