On Sat, Jul 12, 2025 at 01:37:28PM -0500, G. Branden Robinson wrote:
Hi folks,
I'm trying to clear up a historical matter.
In reviewing groff's "LICENSES" file, I find myself stuck on the
following paragraph.
grn, written by Barry Roitblat
<barry(a)rentonww.com> and David
Slattengren <slatteng(a)Xinet.COM>, was part of the Berkeley
troff distribution. The files contain no AT&T code
and are in the public domain. Historically, the original package could
be found at <http://ftp.cs.wisc.edu/pub/misc/grn.tar.Z>.
I'm not sure about that reference to "Berkeley troff". I already
deleted the modifier "device-independent" from that sentence because
I've never seen even a whisper of evidence that the CSRG ever
distributed Kernighan's device-independent troff; that was locked up
behind AT&T's revenue-seeking aims.
from the Berkeley manual:
grn - ditroff preprocessor for gremlin files
more on the Berkeley ditroff distribution below
But also, I can't find evidence that "grn" was distributed by Berkeley
at all. At Warren's "Unix Tree",[1] I see what looks superficially like
evidence of support for Gremlin terminals in "libplot", but that's not
the same thing.
However there is evidence of support for grn, the troff preprocessor, in
other unquestionable BSD artifacts, like Eric Allman's "me" package.
Can someone clear up my misconceptions or suggest non-misleading
alternative wording?
grn(1) can be found in CD 4 of the CSRG archives.
Along with various .grn files.
from tuhs Documentation/CSRG_CDs/csrg_ls.gz:
-r--r--r-- 1 root root 5757 May 9 1984
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/docs/grn.1
-r--r--r-- 1 root root 356 Jul 5 1995
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/.MAP
-r--r--r-- 1 root root 468 Dec 27 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/Makefile
-r--r--r-- 1 root root 235 Jul 5 1995
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/.MAP
-r--r--r-- 1 root root 2037 Oct 8 1984
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.gprint.h
-r--r--r-- 1 root root 9899 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.hdb.c
-r--r--r-- 1 root root 19497 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.hgraph.c
-r--r--r-- 1 root root 1028 Oct 8 1984
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.hpoint.c
-r--r--r-- 1 root root 40419 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.main.c
-r--r--r-- 1 root root 1228 Nov 11 1985
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/dev.h
-r--r--r-- 1 root root 1904 Dec 7 1984
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/gprint.h
-r--r--r-- 1 root root 5677 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/hdb.c
-r--r--r-- 1 root root 10982 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/hgraph.c
-r--r--r-- 1 root root 895 Dec 7 1984
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/hpoint.c
-r--r--r-- 1 root root 22630 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/main.c
-r--r--r-- 1 root root 5757 May 9 1984
CSRG/disk4/local/ditroff/ditroff.old.van/docs/grn.1
-r--r--r-- 1 root root 314 Jul 5 1995
CSRG/disk4/local/ditroff/ditroff.old.van/grn/.MAP
-r--r--r-- 1 root root 468 Dec 27 1986
CSRG/disk4/local/ditroff/ditroff.old.van/grn/Makefile
-r--r--r-- 1 root root 1228 Nov 11 1985
CSRG/disk4/local/ditroff/ditroff.old.van/grn/dev.h
-r--r--r-- 1 root root 1904 Dec 7 1984
CSRG/disk4/local/ditroff/ditroff.old.van/grn/gprint.h
-r--r--r-- 1 root root 5677 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.van/grn/hdb.c
-r--r--r-- 1 root root 10982 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.van/grn/hgraph.c
-r--r--r-- 1 root root 895 Dec 7 1984
CSRG/disk4/local/ditroff/ditroff.old.van/grn/hpoint.c
-r--r--r-- 1 root root 22630 Apr 14 1986
CSRG/disk4/local/ditroff/ditroff.old.van/grn/main.c
-r--r--r-- 1 root root 5757 Oct 10 1986 CSRG/disk4/local/man/man1/grn.1
The SCCS logs start in 1983, authored by slatteng.
The troff preprocessor is also mentioned in
Mark Opperman, Jim Thompson, Yih-Farn Chen
A Gremlin Tutorial for the SUN Workstation
UCB/CSD 322
https://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-322.pdf
"1.1 GREMLIN History
GREMLIN's legacy encompasses more than five years and a half-dozen
Berkeley graduate students. It all started in 1981 when Barry Roitblat
built the first version of GREMLIN for his Master's project. That
version ran only on AED color displays, and its output could be printed
only on Versatec printers. In order to include figures in typeset
documents, they had to be cut-and-pasted. In 1983, Dave Slattengren
(another graduate student at UCB) acquired from AT&T the sources to
Brian Kernighan's new DITROFF program. In addition to making the
program work under 4.2 BSD and building drivers for several printers,
he wrote GRN, which reads files in GREMLIN format and generates
DITROFF commands to print the pictures in-inline in documents.
...
1.2 Distribution of GREMLIN
GREMLIN is distributed free of charge by the University of California,
Berkeley, along with a modified version of the DITROFF typesetting
system which allows GREMLIN pictures to be printed in-line in documents.
To find out more about the GREMLIN/DITROFF distribution, including the
AT&T licenses required to receive it, write to:"