Useful Lies

Copyright (c) 2000-2001 by Rich Morin
published in Silicon Carny, July 2000


"All of the true things I am about to tell you are shameless lies." So says Bokonon, a character in Kurt Vonnegut's "Cat's Cradle"; this column follows in his irreverent footsteps.

Bokonon, a character in Kurt Vonnegut's "Cat's Cradle", advises us to "Live by the foma (i.e., lies, harmless untruths) that make you brave and kind and healthy and happy." Here are some useful and irreverent lies, presented in the spirit of Bokonon.

UNIX is Open Source

There is far more similarity than difference between UNIX (e.g., HP-UX, Solaris, UnixWare) and Open Source (e.g., FreeBSD, Linux, Plan 9) operating systems. This commonality is evident at all levels, from the external behavior to the actual code base.

The GNU utilities are used in Linux and other free OSs. Although their internal code was not derived from UNIX, their behavior mimics that of their UNIX counterparts. For instance, GNU grep does all the things UNIX grep does.

In fact, GNU utilities offer enough advantages (e.g., extra features, increased robustness) that some proprietary vendors (and many users) rely on them, rather than the UNIX versions.

A few years ago, during the BSD lawsuit, AT&T compared the 4.4BSD code base to that of UNIX System V. Finding that about half of the code was identical, they decided that AT&T code had been stolen by BSD.

In fact, the reverse was true; AT&T had picked up BSD code, removed the copyright notices, and incorporated it into System V. Irony aside, it is quite clear that a lot of the code was common then (and still is, today).

Today's UNIX and Open Source vendors are all "fishing from the same pond". They may write some code of their own, but most of the subsystems (e.g., Sendmail) are imported straight into the release.

Consequently, it makes little sense to draw sharp distinctions between UNIX and Open Source; the lines are fuzzy and getting fuzzier. Almost-Open-Source licenses, such as Sun's "Community Source License", highlight this situation.

Whether "Open Source is UNIX" is, of course, another question. The Mac OS and Microsoft Windows communities have never been strong bastions of Open Source, but that situation may be changing.

Both Apple and Microsoft have been taking steps toward embracing Open Source. Apple's steps are large; the entire foundation of Mac OS X is Open Source. Microsoft's steps (e.g., sponsoring Visual Perl) are smaller, but still noteworthy.

In any case, the migration of Open Source languages (e.g., Perl, Python, and Tcl) and other tools (e.g., TeX) to these systems is bound to raise some consciousness among users.

Code is Documentation

Back when I was a UNIX (then Unix :-) newbie, I often had to grit my teeth when a source-licensed user glibly answered my inquiries by saying "look at the source". Now, of course, I can look: my FreeBSD system allows me to examine each and every part of the system.

To be honest, I don't actually do much looking. The manual pages and bazillions of books cover most of the issues I'd want to investigate. Still, it's very nice to know that I can examine the source code if I am so inclined.

It would be nice, however, to have better integration between the system's source code and its documentation. I'd love to be able to ask my system for pointers to programs that use a particular set of resources (e.g., include files, library functions).

Finding the precise bit of documentation that answers a particular question can be a challenge. The information resources are substantial, but diffuse and poorly integrated.

A given package, for instance, may come with a README file and any number of papers. To find these gems, however, one must wander into the package's source distribution; The OS has no overall index to help in the search.

Worse, the documentation format may require a tool (e.g., TeXinfo) which must be acquired and built before the document can be viewed or printed. Once you have the tool in place, of course, any document in that format can be processed; nonetheless, there is a certain start-up cost!

A great deal of interesting information is also buried in parts of the running system. Makefiles, package management systems, and the source code itself contain gems, but it can take significant effort to find them.

Some wild-eyed speculation about making this information more accessible can be found in my draft paper, "Integrating package management and documentation". A BOF on the topic is also scheduled for the O'Reilly Open Source Conference (Monterey; July 18-20, 2000).

Disk is Free

Disk storage prices have been in free fall for decades and show no signs of stabilizing any time soon. EIDE drives, at the low end of performance, can be had for less than $5 per GB. SCSI drives are rather more expensive, but they are still amazingly economical.

If your vendor doesn't support economical disks, other options are readily available. A BSD or Linux box with a 100Base-T card and some EIDE drives can provide tons of reasonably fast disk storage, at a price that won't leave you gasping. After all, "The Network is the Computer" (:-).

Consequently, the cost of disk storage simply disappears from most project calculations. Disk to disk backup (either explicitly or in the form of RAID) is now a very reasonable option.

Seemingly ridiculous projects, such as mirroring every interesting version of every significant Open Source package (discussed in my paper), turn out to cost only a few thousand dollars.

CPU and RAM prices are also amazingly cheap. My desktop Mac has more than 100 times as much RAM as my first Sun workstation. In fact it has more RAM than the Sun had disk! So, don't let imagined scarcity of resources stifle your creativity. If an interesting problem needs computing resources, there's probably a way to find them...

Resources

"Cat's Cradle"
Kurt Vonnegut, Jr.
Delta, 1998, ISBN 0-385-33348-X

Community Source Licensing Principles
Sun Microsystems
http://www.sun.com/981208/scsl/principles.html

Integrating package management and documentation
Rich Morin
The Meta Project
http://www.cfcl.com/Meta

The Books of Bokonon
Eugene Wallingford, ed.
http://web.math-cs.uni.edu/~wallingf/personal/bokonon.html#words
      

About the author

Rich Morin (rdm@cfcl.com) operates Prime Time Freeware (www.ptf.com), a publisher of books about Open Source software. Rich lives in San Bruno, on the San Francisco peninsula.