In 1979, at the end of his graduate-student career, Reid sold Scribe to a Pittsburgh-area software company called Unilogic, founded by Michael Shamos, another Carnegie Melloncomputer scientist, to market the program. Reid said he simply was looking for a way to unload the program on developers that would keep it from going into the public domain. Michael Shamos was embroiled in a dispute with Carnegie Mellon administrators over the intellectual-property rights to Scribe. The dispute with the administration was settled out of court, and the university conceded it had no claim to Scribe.
Time-bomb
Reid agreed to insert a set of time-dependent functions that would deactivate freely copied versions of the program after a 90-day expiration date. To avoid deactivation, users paid the software company, which then issued a code that defused the internal time-bomb feature. Richard Stallman saw this as a betrayal of the programmer ethos. Instead of honoring the notion of "share-and-share alike", Reid had inserted a way for companies to compel programmers to pay for information access. Stallman's Texinfo is "loosely based on Brian Reid's Scribe and other formatting languages of the time".
Typing a manuscript file using any text editor, conforming to the Scribe markup.
Processing this file through the Scribe compiler to generate an associated document file, which can be printed.
The Scribe markup language defined the words, lines, pages, spacing, headings, footings, footnotes, numbering, tables of contents, etc. in a way similar to HTML. The Scribe compiler used a database of Styles, which defined the rules for formatting a document in a particular style. Because of the separation between the content of the document, and its style, writers did not need to concern themselves with the details of formatting. In this, there are similarities to the LaTeXdocument preparation system by Leslie Lamport.
The markup language
The idea of using markup language, in which meta-information about the document and its formatting were contained within the document itself, first saw widespread use in a program called RUNOFF; Scribe contained the first robust implementation of declarative markup language. In Scribe, markup was introduced with an @ sign, followed either by a Begin-End block or by a direct token invocation: @Heading @Begin Let's start at the very beginning, a very good place to start @End It was also possible to pass parameters: @MakeSection Typically, large documents were composed of Chapters, with each chapter in a separate file. These files were then referenced by a master document file, thereby concatenating numerous components into a single large source document. The master file typically also defined styles and declared macros like MakeSection shown above; macros had limited programmatic features. From that single concatenated source, Scribe computed chapter numbers, page numbers, and cross-references. These processes replicate features in later markup languages like HTML. Placing styles in a separate file gave some advantages like Cascading Style Sheets, and programmed macros presaged the document manipulation aspects of JavaScript.
Related software
The FinalWord word processor from Mark of the Unicorn, which became Borland's Sprint, featured a markup language which resembled a simplified version of Scribe's. Before being packaged as FinalWord, earlier versions of the editor and formatter had been sold separately as MINCE and Scribble respectively.