The Heirloom Project (original) (raw)
The Heirloom Project provides traditional implementations of standard Unix utilities. In many cases, they have been derived from original Unix material released as Open Source byCalderaandSun.
Interfaces follow traditional practice; they remain generally compatible with System V, although extensions that have become common use over the course of time are sometimes provided. Most utilities are also included in a variant that aims at POSIX conformance.
On the interior, technologies for the twenty-first century such as the UTF-8 character encoding or OpenType fonts are supported.
The project includes the following components:
- The Heirloom Toolchest: awk, cpio, grep, tar, etc.
- The Heirloom Bourne Shell
- The Heirloom Documentation Tools: nroff, troff, dpost, etc.
- The Heirloom Development Tools: lex, yacc, m4, and SCCS
- Heirloom mailx
- The Heirloom Packaging Tools: pkgadd, pkgmk, etc.
—Why? Some people like to drive classic cars, others like to arrange their domiciles with period furniture. The Heirloom Project caters to people who like to operate their computers using a traditional Unix command line interface. The Heirloom Project is not a software museum; it does not attempt to preserve utilities unmodified. Rather, it keeps stylistic, algorithmic, and interface aspects intact while modernizing the framework as appropriate.
For example, the Heirloom Project provides the grep family of utilities with its traditional algorithm implementations, as they have appeared in the computer science literature: a grep utility with the NFA simulation originally derived from ed, an egrep utility with a directly constructed DFA simulation, and a fgrep utility with the original implementation of the Aho-Corasick algorithm. All of them have been modernized to support multibyte characters, have been relieved of static limits to the complexity of expressions, and have been embedded in a common framework that supports lines of unlimited length, recursive search in a directory hierarchy, and transparent handling of compressed files. Additionally, a POSIX-style_grep_ utility is available; it uses the same framework with the regular expression library originating from SVR4.2MP.
Another example is the_cpio_ utility, which keeps the traditional interface but has been rewritten with machine-independent read-write support for almost all known Unix archiving formats as well as zip archives. Again, as a tribute to POSIX, the same functionality is available with a pax utility.
In effect, the _Heirloom Project_makes it possible to perform today's work in a traditional Unix manner.
Links
Stefan Tramm maintains aMac OS X portof the Heirloom Project.