The Heirloom Project

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 by Caldera and Sun.

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:

—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 a Mac OS X port of the Heirloom Project.