On Tue, Jan 11, 2022 at 2:20 PM John Cowan <cowan@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 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   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.