Roff (software)

roff is a typesetting markup language. As the first Unix text-formatting computer program, it is a predecessor of the nroff and troff document processing systems.

Roff was a Unix version of the runoff text-formatting program from Multics, which was a descendant of RUNOFF for CTSS (the first computerized text-formatting application).

CTSS
roff is a descendant of the RUNOFF program by Jerry Saltzer, which ran on CTSS. Douglas McIlroy and Robert Morris wrote  for Multics in BCPL based on Saltzer's program written in MAD assembler. Their program in turn was "transliterated" by Ken Thompson into PDP-7 assembler language for his early Unix operating system, circa 1970.

When the first PDP-11 was acquired for Unix in late 1970, the justification cited to management for the funding required was that it was to be used as a word processing system, and so roff was quickly transliterated again, into PDP-11 assembly, in 1971.

roff printed the man pages for Versions 1 through 3 of Unix, and when the Bell Labs patent department began using it, it became the first Unix application with an outside client. Dennis Ritchie noted that the ability to rapidly modify roff (because it was locally written software) to provide special features was an important factor in leading to the adoption of Unix by the patent department to fill its word processing needs. This in turn gave UNIX enough credibility inside Bell Labs to secure the funding to purchase one of the first PDP-11/45s produced.