Go to the first, previous, next, last section, table of contents.


Past and Future

Greg McGary conceived of the ideas behind the ID utilities when he began working on the Unix kernel in 1984. He needed a navigation tool to help him find his way around the expansive, unfamiliar landscape. The first id-utils-like tools were shell scripts, and produced an ASCII database that looks much like the output of `lid ".*"'. It took over an hour on a VAX 11/750 to build a database for a 4.1BSD derived kernel. The first version of `lid' used the UNIX system utility look, modified to handle very long lines.

In 1986, Greg rewrote the shell scripts in C to improve performance. Build times for the ID file were shortened by an order of magnitude. The ID utilities were first posted to `comp.sources.unix' in September 1987 under the name id.

Over the next few years, several versions diverged from the original source. Tom Horsley at Harris Computer Systems Division stepped forward to take over maintenance and integrated some of the fixes from divergent versions. A first release of the renamed `mkid' version 2 was posted to `alt.sources' near the end of 1990. At that time, Tom wrote a Texinfo manual with the encouragement the net community. (Tom especially thanks Doug Scofield and Bill Leonard whom he dragooned into helping poorfraed and edit--they found several problems in the initial version.) Karl Berry revamped the manual for Texinfo style, indexing, and organization in 1995.

In January 1995, Greg McGary reemerged as the primary maintainer and launched development of `mkid' version 3, whose primary new feature is an efficient algorithm for building databases that is linear in both time and space over the size of the input text. (The old algorithm was quadratic in space so it was incapable of handling very large source trees.) For the first time, the code was released under the GNU Public License.

In June 1996, the package was renamed again to id-utils and was released for the first time under FSF copyright as part of the GNU system. All programs had their command-line arguments completely revised. The `mkid' and `xtokid' programs also gained a file-tree walker, so that directory names can be passed on the command line instead of the names of every individual file. Greg reorganized and rewrote most of the Texinfo manual to reflect these changes.

Future releases of id-utils might include:

an optional coupling with GNU grep, so that grep can use an ID database for hints a cscope work-alike query interface incremental update of the ID database.


Go to the first, previous, next, last section, table of contents.