On Tue, Jan 11, 2022 at 2:20 PM John Cowan <cowan(a)ccil.org> wrote:
I assume you mean s/groff/troff/. There must have
been some public access
to the documentation like this that allowed James Clark to develop groff in
the 1987-91 time frame, though. It's still the *roff shipped with *BSD.
No, I mean troff... troff was written by Joseph Ossanna
<https://en.wikipedia.org/wiki/Joe_Ossanna> for early version of UNIX. It
output was for the CAT4 typesetter [which Wang eventually was the owner,
although I believe when BTL bought the typesetter, the C/A/T folk was an
independent company from Wang].
The output is funky binary format. The docs describing troff can be found
in some of the early distributions [for look in Warrens archives]. IIRC V6
had the nroff sources [
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/s7] and v7 has
the nroff/troff source [
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/troff]
I've forgotten which earlier version had the binary in /bin (maybe v6 but
possibly v5 too) and I'm fairly certain the original source leaked to the
Universities before V7. I know we had the binary at CMU, before V7, but I
don't remember when we got the source - but I suspect one our OYOC students
brought it. I'll Let Noah speak for MIT and some one like Mary Ann speak
for UCB before I got there.
After Joe died and the BTL crew got a new APS5 typesetter, Brian set out to
rewrite the code base to support any typesetting by using traditional
compiler technology of converting the input to an ASCII representation that
is walked by a seperate program that generates the device specific output.
In fact it was this work (original done on V6) that forced Dennis (and I
assume Steve Johnson) to update the C language a bit - which is what is
described in K&R1. Brian's code and a version of DMR's updated C compiler
was released independently as a package - hence the term 'typesetter C.'
This compiler and the new document system took a seperate license. I had
it at both CMU in the 70s and Tektronix -- I think Steve Glaser had it at
Rice also - again ask someone else for other sites, including some of the
early European ones.
Later Brian's work was updated after V7 and included some new tools, and
became known as Writer's Workbench, which eventually was entered in the
'toolchest.'
At the time of the first release Brian published a paper / TR that
describes the new version of troff (a.ka. ditroff), including some level of
documentation for the intermediate language. That was published and would
have been officially available to James.
Clark certainly had access to both the papers as well as binaries. His
work would eventually be called groff. I personally saw a version of it
before it was taken into the Gnu project, in the early 1980s. I do not
know if he had access to Brian's actual code under license when he
reimplemented it in C++ creating a new implementation, as UCB did when they
started to rewrite many of the utilities and main OS itself.
The AT&T case basically said that once the implementations was released,
AT&T could no longer call anything a trade secret, although they *do the
own the IP and copyright* [and please not start a GPL/BSD license flame
here -- the horse is so dead - please go back into the TUHS archives and
read all about it if you are new here].
Larry is correct, that I do not believe that AT&T ever released that IP
directly -- although the sources are certainly available at: The Heirloom
Documentation Tools <https://n-t-roff.github.io/heirloom/doctools.html> I
personally do not know the history. *But I believe* the concept is that
when Sun bought out its license and was able to open source Solaris, the
code base that goes back to Brian's original implementation became
available at that point. Some one like Larry or Rob Gingell who lived some
of that transition might be able to offer those details.