Creators and maintainers of free software are not required to create any particular kind of documentation. Fortunately, most authors provide at least some documentation; a set of manual pages is the typical offering. Several software authors (e.g., Eric Allman, Ralph Griswold, Donald Knuth, Wm Leler, Don Libes, Larry Wall, Philip Zimmerman, ...) have written entire books.

This is all very useful once the user has retrieved and unpacked the software in question, but it isn't much help in determining whether a package is worth retrieving, which version is current, etc. For this purpose, we need a database of available software packages.

Several proposals have been made for this kind of database. Unfortunately, few volunteers have stepped forward to do the necessary work. Retrieving and unpacking an archive, searching for descriptive information, and editing up a description file is a lot of work.

Having created and/or edited a few thousand description files, I've never thought of it as being much fun. More to the point, I have frequently wondered why the authors themselves couldn't create consistent annotation files. Yeah, yeah, dream on...

The Linux Software Map (LSM) is a directory of information about each of the software packages available via FTP for the Linux operating system. It is meant to be a public information resource. All entries have been entered by volunteers (usually the author or porter of a program) all over the world via email using the template below.
- LSM.README

The text above is very promising, but I have seen a number of similar proclamations. What really gets my attention, however, is the fact that the LSM currently has more than 2000 entries, Somebody has convinced a large body of programmers to generate and submit LSM entries for their work. I am very impressed.

The energy needed to coordinate this kind of thing is substantial. So substantial, in fact, that it has exhausted the resources of two moderators. The Linux Software Map was originally conceived and maintained by Jeff Kopmanis. It is currently being maintained by Lars Wirzenius (liw@iki.fi), but Lars is looking for a way to hand it off.

Lars says that he has already found a volunteer, so the new moderator my be in action by the time you read this. Alternatively, some Linux-related organization may decide to fund the effort. I really hope things straighten out soon; the LSM is far too valuable a resource to lose!

FTP Access

The LSM is available in a number of forms. The raw LSM database is available by FTP: ftp://linux-alpha.cs.helsinki.fi/lsm/. The database is presented as a base release (LSM.09APR96, at this writing), plus a set of "diff" diles.

The database is formatted as an ASCII file, containing a series of keyword-based entries. Each entry starts with "Begin3" and finishes with "End". Each intervening keyword begins a line; succeeding information is indented, as:

 Begin3
 Title:           mirror - an FTP mirroring program in Perl
 Version:         2.5
 Entered-date:    21AUG95
 Description:     A Perl based program to mirror remote sites via FTP.
 Flexible
 Keywords:        perl mirror ftp 
 Author:          nicholas@binary9.com (Nicholas J. Leon)
 Maintained-by:   nicholas@binary9.com (Nicholas J. Leon)
 Primary-site:    ftp.binary9.com /pub/nicholas/perl/scripts
                   13KB mirror-2.5
                   21KB mftp.pl
 Alternate-site:  sunsite.unc.edu /pub/Linux/system/Network/file-transfer
                   11KB mirror-2.5.tar.gz
                    1KB mirror-2.5.lsm
 Platforms:       Linux 1.2.x, 1.3.x
                  Perl 5.001, ftplib.pl (included), timelocal.pl
 Copying-policy:  GPL
 End
    

Because there is no fixed standard for formatting, some of the entries are rather irregular in appearance. Consequently, you may wish to to run some kind of formatting script over the database. Be a bit careful, however; the entries often contain columns or other useful formatting.

HTTP Access

At least two sites have set up Web servers for the LSM. http://www.ngs.fi/lsm/, is a forms-based search engine for the LSM. It handles searching by fields, Boolean expressions, etc. The matching entries are summarized on a page of links.

There is also an LSM search facility at http://www.boutell.com/lsm/, but it is currently unavailable. I would expect it to come up again relatively soon. Meanwhile, see the LSM home page (http://www.cs.helsinki.fi/~wirzeniu/linux/lsm.html) or track the appropriate newsgroups:

New versions ... will be announced in the newsgroup comp.os.linux.announce. Discussions pertaining to the LSM will be held in the newsgroup comp.os.linux.misc. Any questions or comments can be entered in comp.os.linux.misc or sent directly to the maintainer (liw@iki.fi).
- LSM.README