Unilogic
| Company type | Software |
|---|---|
| Industry | Computer software |
| Founded | 1979 |
| Founder | Brian Reid |
| Headquarters | Pittsburgh , United States |
| Products | Markup language, word processing framework |
Scribe represents both a markup language and a word processing framework created by Brian Reid at Carnegie Mellon University. It was a trailblazer in implementing descriptive markup, establishing a distinct division between content and its presentation—a groundbreaking advancement in document creation and typesetting. Reid’s contributions through Scribe were recognized with the Grace Murray Hopper Award in 1982, honoring his innovations in programming language design, document processing, and typography.
Origins
Scribe originated as the centerpiece of Reid’s doctoral thesis completed in 1980. In 1981, he introduced it alongside IBM’s Generalized Markup Language (GML), developed by Charles Goldfarb, which later influenced the creation of SGML. The methodology Scribe employed significantly shaped subsequent progressions in markup languages and document formatting systems.
Acquisition by Unilogic
In 1979, Reid transferred ownership of Scribe to Unilogic, a Pittsburgh-based software firm that later became Scribe Systems. This company was founded by Michael Shamos, another Carnegie Mellon computer scientist, who aimed to commercialize the software. Reid’s motivation for this sale was to prevent Scribe from becoming publicly accessible by placing it under the control of dedicated developers.
A legal conflict arose between Shamos and Carnegie Mellon University concerning the intellectual property rights of Scribe. This dispute was resolved through an out-of-court agreement in which the university abandoned its claims.
Time-limited Access Mechanism
To restrict unauthorized usage, Reid embedded time-sensitive features—often referred to as "time bombs"—that disabled unlicensed copies after a 90-day period. Customers were required to purchase codes from the company to unlock these limitations.
This approach drew criticism from Richard Stallman, who viewed it as a violation of ethical standards among programmers. Stallman argued that Reid’s system undermined the ethos of "share-and-share alike" by enabling companies to monetize access to information.
Stallman’s own Texinfo system took inspiration from Scribe and related formatting languages.
Operating the Scribe Word Processor
The use of Scribe involved a two-step process:
- Drafting the manuscript using any plain text editor with embedded Scribe markup.
- Running the manuscript through the Scribe compiler to generate a formatted, printable output.
The markup syntax allowed authors to specify document components such as headings, footnotes, numbering schemes, and tables of contents—functionally similar to HTML. The compiler applied styles defined within a style database that governed formatting rules.
By distinctly separating content structure from visual styling, writers could concentrate on organizing their material without needing to manage appearance details directly. This philosophy closely mirrored that later adopted by Leslie Lamport’s LaTeX system.
Markup Language Characteristics
While early programs like RUNOFF introduced embedding metadata and formatting instructions into text files, Scribe was the first to implement a comprehensive declarative markup language effectively.
In Scribe’s syntax, commands were prefixed with an @ symbol and could appear as paired Begin-End blocks or single tokens:
@Heading(The Beginning)
@Begin(Quotation)
Let's start at the very beginning, a very good place to start
@End(Quotation)
Commands could also accept parameters:
@MakeSection(tag=beginning, title="The Beginning")
For managing extensive documents, content was generally divided into Chapters stored in separate files. These were linked together by a master document file that combined all parts. The master file also defined style elements such as fonts and margins and declared macros like MakeSection, enabling limited programmability within documents. From this single source file, Scribe automatically generated chapter and page numbering as well as cross-references.
These capabilities anticipated features found in later markup languages like HTML, with the separation of style prefiguring Cascading Style Sheets and macro functionality foreshadowing dynamic document manipulation similar to JavaScript.
Associated software
The word processor FinalWord developed by Mark of the Unicorn, which was subsequently acquired by Borland and rebranded as Sprint, utilized a markup language similar to a streamlined version of Scribe. Prior versions were marketed independently under the names MINCE ("MINCE Is Not Complete Emacs") and Scribble.
LaTeX extends the capabilities of TeX by integrating descriptive markup techniques originally introduced by Scribe.
See also
External links
- Reid's 1980 doctoral thesis, "Scribe: A Document Specification Language and its Compiler".
- Summary of the dissertation.
- Brian Reid's keynote address at Markup Technologies '98
- Explanation for Brian Reid's Hopper Medal for Scribe, featured in the Online Historical Encyclopaedia of Programming Languages
- Scribe Introductory User's Manual, authored by Brian Reid, 1978