On 5/12/26 1:18 PM, G. Branden Robinson wrote:
[this is mostly philosophical/community/GNU culture stuff]

At 2026-05-12T10:39:54-0400, Chet Ramey wrote:
At the end of the day -- and even at the beginning of the next --
groff is a GNU package, and requires a Texinfo manual. This is a
standard and an expectation.

I know.  By the way, Karl Berry told me that Bash went many years
_without_ a Texinfo manual.  Is that right?  Can you shed light on its
origins?

For the first few distributions, bash shipped without any documentation at
all.

The FSF engaged a technical writer to produce a manual in texinfo. I don't
remember the name; maybe Karl does (it's not important). There was a
skeletal version by bash-1.04, missing or incompletely documenting huge
portions of shell behavior (compound commands, shell functions, job
control, aliases, word expansions, etc.). It was 14K; the current bash
texinfo manual -- without readline or history -- is 420K.

But it was in progress, I was told. No man page yet.

It was around this time that bash development sort of stagnated. I went
off and did my own thing with bash, developed new features and fixed bugs
and sent them in. Finally, I got enough requests to put together a
`distribution' of my own (`CWRU bash').

My users requested documentation. I wasn't going to step on anyone's toes
by producing a texinfo manual, and people wanted a man page anyway, so I
wrote one, and made it as complete as possible. This meant it documented
some things that weren't in the GNU distribution, but it had the advantage
of describing a superset it. This was mid-1990. (I had a lot of energy back
then.)

I posted the man page to gnu.bash.bug, among other places, so it got
out there.

By bash-1.08, things had kind of come back together, to the extent that
bash-1.08 shipped with my man page and a slightly more fleshed-out texinfo
manual (named `features.texi' because it described the shell from the
perspective of features taken from sh, tcsh, ksh, and then its own).

That was the status quo until I took over as sole maintainer: I updated
bash.1, but features.texi was static. I didn't do too much with it; just
made sure it would continue to produce features.{info,dvi,txt,ps}.

The readline and history documentation followed a similar cycle, but they
were a little ahead of bash, and more complete. I wrote readline.3 for
bash-1.14, but removed it from the bash distribution when I finally made
readline its own distribution.

Bash-2.0 was a huge turning point. I finally ditched features.texi and
created bashref.texi, combining text from the man page and features.texi.
It was complete, in the sense that it described all the features, and
consistent, in that it didn't describe anything extra as the man page
had previously. I did the same for the readline and history texinfo docs.

And there we were, all together in 1996.

I didn't get around to writing history.3 until readline-4.2.

Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    [email protected]    http://tiswww.cwru.edu/~chet/

Reply via email to