;login: The Magazine of USENIX & SAGEBook Reviews

 

the bookworm

salus_peter

by Peter H. Salus
<[email protected]>

Peter H. Salus is a member of the ACM, the Early English Text Society, and the Trollope Society, and is a life member of the Ame-rican Oriental Society. He has held no regular job in the past lustrum. He owns neither a dog nor a cat.

 

This month I want to look at only four books: one truly important one and three others. The areas covered are open source, languages, and protocols.

OPEN, SESAME!
Beginning in 1992, Eric S. Raymond has jotted notes and comments that were (and are) Net-accessible. Since 1996, several of his essays (most notably "The Cathedral and the Bazaar") have become required reading. If anything, the obloquy heaped on Raymond by the PR folks in Redmond, WA (e.g., in the "Halloween documents") has made him more important.

O'Reilly has done us all a favor by collecting a number of Raymond's pieces and making them readily accessible at a price everyone can afford.

The volume contains "A Brief History of Hackerdom," "The Cathedral and the Bazaar," "Homesteading the Noosphere," "The Magic Cauldron," "The Revenge of the Hackers," "Afterword," and two appendices.

These are the Common Sense or the Federalist Papers for the Open Source movement: they are the testimony of just why the BSDs and Linux, Perl and Python, Tcl and (even) Java are successful: these facilities have tens of thousands of programmers all over the world contributing to the excellence of programs and systems. They don't have an encapsulated proprietary system that no one can debug.

When I was writing A Quarter Century of UNIX (Addison-Wesley, 1994), I realized that essential to the "UNIX philosophy" was something that was alien to commercial programming: the changes to the kernel, the applications, the programs were all written by one or two or three hackers — not by teams of programmers. Eric Allman wrote sendmail; Mike Lesk wrote the original uucp (and even the mid-1980s version, HoneyDanBer, was by Peter Honeyman, Dan Nowitz, and Brian Redman); Steve Johnson wrote yacc; Bill Joy wrote vi; etc. Brian Kernighan once told me that Awk was the toughest project he ever worked on "because there were three of us" (Aho, Weinberger, and Kernighan).

Of course, it's all the Internet's fault. Even with the USENIX tape-swaps and uucp, stuff passed about more slowly. It's the Net that enabled a Finnish student to send his work to nearly every corner of the world and currently enables thousands to contribute and feed stuff back to the Linux and GNU and Perl communities.

In some ways, "The Magic Cauldron" is my favorite essay of Raymond's. Here he shows that he understands the underlying economic reasons for the success of open software. This understanding is based on the anthropological study of gift-exchanging and on the concepts of what happens in a gift culture, when "survival goods are abundant" and therefore the exchange is no longer interesting.

This is tied together with the notions inherent in the fact that software has two distinct values: use value and sales value. As Raymond says, use value is value as a tool; sales value is value as a saleable good. One of Raymond's most interesting discussions is founded in this.

Food, equipment, books all retain value independent of the producer. If a farmer sells his farm, the food produced retains its value, etc. When a computer manufacturer (hardware or software) goes out of business or a line is discontinued, the price users are willing to pay plummets. The price users will pay is limited by "the expected future value of vendor service."

Open-source software forces the vendor into a world of service-fee-domination and exposes "what a relatively weak prop the sale value of the secret bits in closed-source software was all along."

The true advantage for all of us lies in the notion of high-quality software being built upon by the community, rather than being locked up in a vault or discontinued. (See my "20 Years Ago . . ." in this issue.)

Raymond believes that in 2000/2001 Linux will be "in effective control of servers, data centers, ISPs, and the Internet, while Microsoft maintains its grip on the desktop." Most likely that's correct. But with the advent of products like StarOffice and WordPerfect for Linux, there may well be inroads into the desktop market as well.

This is a fine, thought-provoking book that should be read by anyone interested in computing: open, academic, or proprietary.

TICKLE?
Nelson's Tcl/Tk: Programmer's Reference is a very fine example of just what a language reference should be. Following a mere 20 pages of Tcl and Tk basics, Nelson launches into a brief preface on syntax and then the Tcl/Tk commands from after through 10 pages on wm. I found all the information both compact and appropriate. The remainder of the book contains an appendix on options and a rather good index.

I do have one nit, but it's not with Nelson, rather with Osborne/McGraw-Hill, the publisher. I may be getting old and my sight getting worse, but I find the sanserif font used for arguments impossible: under eof (p. 121), for example, we find channelId -- and the "l" and "I" are indistinguishable. As "channelId" occurs frequently, I found this annoying.

The text in serif type is quite clear, but the confusion was unnecessary.

PROTOCOLS
Johnson's book on mail protocols is quite a respectable one, especially once you get past his paragraphs on history. The chapter on IMAP and on filtering were informative, though it's unclear to me why there's no mention of procmail. There's no mention of sendmail save as an MTA, either, and none at all of Eric Allman (though Ray Tomlinson and [in the appendix on languages] Larry Wall and Guido van Rossum are there). Actually — though that appendix talks about C, C++, Java, Perl, Python, and Emacs — Ritchie, Thompson, Stroustrup, Gosling, and Stallman are notable in their absence.

The meat of this book is quite good, but the lacunae are quite striking.

On the other hand, the CD is just terrific! It contains all the RFCs actually mentioned in the book.

JAVA ALL OVER THE PLACE
Distributed Programming with Java has the weaknesses of Johnson's volume (paltry bibliography, no credit to most important authors/programmers), but it has its advantages, too. You may not be able to find James Gosling nor Bill Joy nor Ken Arnold nor Jim Waldo nor Ann Wollrath, but who cares who did the work, anyway?

Mahmoud has organized his text well, and the organization of the chapters is far better than average. But there are just about two pages on internetworking, with no mention of IPv6.

The introductory material on sockets programming is fine, as are others. But, all in all, for a book published in 2000, that's just not good enough.

Oh, yeah. Chris Nelson does mention John Ousterhout, as well as Brent Welch and many others. Perhaps some folks do care.

 

BOOKS REVIEWED IN THIS COLUMN
THE CATHEDRAL & THE BAZAAR
Eric Raymond
   Sebastopol, CA: O'Reilly & Associates, 1999.
   Pp. 288. ISBN 1-56592-724-9

TCL/TK: PROGRAMMER'S REFERENCE
Christopher Nelson
   Berkeley, CA: Osborne/McGraw-Hill, 2000.
   Pp. 539. ISBN 0-07-212004-5

INTERNET EMAIL PROTOCOLS
Kevin Johnson
   Reading, MA: Addison-Wesley, 2000.
   Pp. 478 + CD-ROM. ISBN 0-201-43288-9

DISTRIBUTED PROGRAMMING WITH JAVA
Qusay H. Mahmoud
   Greenwich, CT: Manning, 2000.
   Pp. 300.    ISBN 1-884777-65-1


 

?Need help? Use our Contacts page.
Last changed: 17 Apr. 2000 mc
Issue index
;login: index
USENIX home