You may not know the name Eric Allman, but your e-mail does. Allman is the author of sendmail, a venerable program that shoulders one of the Internet's most crucial grunt-work burdens -- moving mail. No matter what ends up in your mailbox -- multilevel marketing spam or a birthday note from your mom -- sendmail almost undoubtedly helped it get there.
Sendmail isn't the only such "mail transport agent," but it is by far the busiest, installed on an estimated 60 to 80 percent of the Internet's mail-server computers. And, like so many other programs that make up the guts of the Net, sendmail has always been free software -- that is, the underlying source code to the program is freely available and modifiable by anyone with the will and ability to do so.
To call the original sendmail "free software," however, is to get a bit ahead of the story. Twenty years ago, when Allman first cooked up the program to solve a local problem at the University of California at Berkeley, the concept of free software didn't really exist. Certainly, Allman had no idea that his program might one day be singled out as a prime example of the "open-source" strategy of software development, nor did he imagine that he would be lauded as one of the pioneers of the free software movement. Back then, Berkeley was famous for free speech, not for free software.
But Allman's creation, and later distribution, of sendmail did fit in naturally with the glorious hacking tradition of the computer science department at Berkeley -- where mucking around with the innards of the Unix operating system was long considered, if not a God-given right, then at the very least a cherished responsibility. And that Berkeley tradition is a key wellspring for what has since become known as the free software or open-source movement -- which is stirring up today's computing world with a new vision of how great software can be developed, distributed and supported.
In the late 1970s and early 1980s, Berkeley programmers constructed a template for how open-source software development might work, and proved that collaboration and nonproprietary coding could result in quality software products that endure the test of time. Well before Richard Stallman, acting out of his own deeply felt moral and political beliefs, explicitly kicked off the free software movement in 1984, Berkeley had already demonstrated why sharing source code made practical sense.
So when Eric Allman announced last March that he had co-founded a company devoted to producing a commercial version of sendmail, the open-source community raised its eyebrows. The source code to this new commercial version would not be made public, although Allman and his co-founder, Greg Olson, declared that Sendmail Inc. would continue to support and improve the open-source version -- the Sendmail model, they said, would be a new "hybrid" business strategy. Last Monday, Dec. 7, Sendmail Inc. released its first "pro betas" of the new products, Sendmail Pro and Sendmail NT.
Sendmail Inc.'s corporate headquarters is in Emeryville, Calif., a developer-friendly enclave squeezed between Oakland and Berkeley along the east shore of San Francisco Bay. The office itself is a friendly reminder of the changes currently rippling through the commercial software landscape: It was once part of the sprawling complex that houses Sybase, a company that specializes in proprietary database software. While Sybase is shrinking, open source is expanding.
Allman's own roots go back to the town of El Cerrito, just a few miles north of Emeryville. A local boy, he serves as a prime example of the particular strain of hacker culture that flourished at Berkeley -- pragmatic, creative and utterly immersed in Unix.
- - - - - - - - - -
From the time he was 8 years old, Allman says, he knew his future would be in computing; the only question was whether he'd go into hardware or software. As a teenager, Allman hacked into the source code of the refrigerator-size IBM 1401 mainframe at his high school. ("It had these really cool great big huge tape drives," he remembers fondly.) He hung around the computing center at Berkeley "scamming computer time whenever I could." And then, finally, he entered Berkeley as a freshman in 1973 -- arriving there, he says at "just about the same time as Unix."
Unix was invented at AT&T's Bell Labs by two prodigiously talented programmers named Ken Thompson and Dennis Ritchie. But AT&T's status as a government-regulated monopoly meant that it operated under a consent decree forbidding it from competing in the computer business. So instead of aggressively marketing Unix in the software marketplace, AT&T licensed it for a nominal fee to universities and a few daring corporate research centers. Thus began the enduring academic fascination with Unix. And no academic institution proved more fascinated than Berkeley.
The AT&T license included the right to alter the source code and share changes with anyone else who had the license. But beyond that technical freedom, "Ken and Dennis," as Allman familiarly likes to refers to the Bell Labs legends, imbued licensees with an inspirational mandate: If something's broken, don't bitch about it -- just fix it.
"Ken and Dennis started off this attitude of 'If you don't like it, you've got the source code, fix it yourself,' and that was very much an attitude that carried over into Berkeley," says Allman. "There was kind of a flip side to it, in that the last person that touched a program owned it. Anyone could come to you and say there's a bug in your program -- you were the last person in there, so it's yours now. You had to graduate [from Berkeley] to get away from it."
This fix-it-yourself philosophy is the foundation for the rapid advance of open-source products today. Bug discovery, testing, fixing and the forward evolution of code proceeds more speedily and effectively when large numbers of programmers have the freedom and opportunity to constantly bash on the code, open-source advocates maintain. Given the opportunity to thus bash on Unix, the Berkeley programmers (who included such luminaries as Bill Joy, a co-founder of Sun Microsystems, and Eric Schmidt, the current CEO of Novell) produced so many improvements and additions to Unix that they eventually began to release their own version -- the Berkeley Software Distribution (BSD).
By 1982, Allman's sendmail was part of BSD. But the program hadn't been designed to answer all of what was then called the ARPANet's e-mail problems. Allman's first version of sendmail, "delivermail," had been written to solve a very local problem; it was, says Allman, "a classic scratch-your-itch" -- a coding exercise undertaken to relieve an immediate aggravation.
"I had a really annoying problem," remembers Allman. "I had all these people that wanted accounts on my machine in Cory Hall, and they were in Evans Hall, and we didn't have any place to hook them up ... We had two ports that were wired between the buildings, and the entire department got to share those ports, just so they could send and receive mail on the ARPANet. I said, I'm tired of managing all these accounts, I'm tired of the bickering about who gets to use the two ports ... There's just got to be an easier way."
Delivermail, which in 1981 was renamed
sendmail, was that way -- a program that allowed multiple users to take advantage of just one of the Cory Hall ports. But its usefulness soon spread beyond the computing science department at Berkeley. And once BSD was distributing it, it soon wound up everywhere -- just as the ARPANet began to morph into the Internet and rocket up in size.
"Sendmail did the job, and frankly, nothing else around at the time did," says Allman. "Sendmail was there when the Internet was born, and scaled with the Internet."
The particular job that sendmail could handle par excellence was the transportation of e-mail between different, usually incompatible networks. Today, the Internet is an increasingly homogeneous entity, at least in terms of its underlying network protocols. But back in the early '80s, the constituent parts of the ARPANet often didn't communicate well with each other. IBM's BitNet, for example, didn't talk well to Berkeley's BerkNet.
Sendmail was designed to solve that problem, to effortlessly negotiate the Internet's tangled labyrinth. Like Perl, the open-source "glue language" that stitches pieces of different programming languages to each other, sendmail is a glue program that patches together different mail systems. It did this job so well that it enabled the Internet to become a global common ground for myriad rival closed e-mail systems -- so that today the word "e-mail" is synonymous with "Internet e-mail."
In writing sendmail, Allman's one overriding principle was to ensure that as much mail as possible got delivered. "I had a philosophy on sendmail which comes down to 'the mail must go through,'" says Allman. "So sendmail, if it gets a message that is malformed, will, if at all possible, send it anyway. It will repair messages, it will patch them, it will add missing headers and so on. This is purely because I believe the whole point of this is that we're trying to make communication happen -- and throwing up an arbitrary block because their mail program got a comma in the wrong place is annoying."
In programmer parlance, sendmail was "forgiving." It also depended on system administrators to do the right thing and not allow sendmail users to abuse the Internet's infrastructure. But as time passed, and the Internet became less and less a playground for programmers and more and more a mainstream phenomenon, sendmail's propensity to forgive, and its reliance on responsible human behavior, came to be seen as a bug, rather than a feature. It encouraged abuse, opened up gaping security holes and helped pave the way for spam.
After 20 years, some critics say that sendmail's time has passed -- that it's time to move to newer, sleeker challengers such as qmail, vmail or exim. Russell Nelson, the manager of a mailing list devoted to free software business models, believes that sendmail is a victim of its own seniority.
"Programs should always be recoded every five or 10 years," says Nelson, who is writing a book on qmail for O'Reilly & Associates, "because the assumptions one makes are dependent upon technology, and technology changes."
But despite the criticism, sendmail still dominates its field with the kind of market share that makes venture capitalists' ears perk up and wallets open wide. And, argues Allman, it's precisely in order to solve sendmail's problems that he chose to set up a commercial entity. The open-source model may be good for fixing bugs, he suggests, but when it comes to real innovation and comprehensive technical support, not to mention improved ease of use, there's no substitute for paid engineers working long, start-up company hours.
"I wanted to actually be able to do innovation on sendmail," says Allman. "There's a lot of stuff that I wanted to do on sendmail that I wasn't able to do before we formed the company, simply because I was one guy. I had a few people helping out, but they all had full-time jobs and I had a full-time job. And because of the support burden, development on sendmail had more or less ground to a halt. I was not happy about that. We are now going to be putting a serious amount of engineering into sendmail."
A few sporadic outbursts of criticism greeted the news that Allman was founding Sendmail Inc. But sustained outrage was nonexistent -- Allman himself says he received surprisingly little flak. According to both Allman and Sendmail Inc. marketing vice president Richard Guth, the commercial move failed to raise free software developers' hackles because the core functional code of sendmail will still be open and will continue to be improved by Sendmail Inc.
The proprietary products whose code Sendmail Inc. will keep to itself, Guth says, are aimed at a market that generally doesn't overlap with the hardcore free software geeks, who are most likely to get their hands dirty configuring sendmail by hand. These products include a graphical user interface that will allow easy configuration, an anti-spam tool kit and, most important, commercially available technical support.
But there's another reason why Sendmail Inc. isn't stirring controversy: The strand of open-source tradition bred in Berkeley has always been pragmatically focused on making things work rather than on making statements. A whole family of BSD descendants currently flourishes, spanning a gamut from the overtly commercial (BSDI) to the completely free (FreeBSD). The true beauty of open source is to let a thousand business models bloom while a thousand schools of hacker thought contend.
Still, when all the packets have finally been switched at the end of the e-mail track, sendmail isn't purely about pragmatic problem-solving, or even about satisfying venture capitalists' requirements. There's a simple social value in the art of promoting communication. E-mail, the "killer app" of the Internet, brings people together.
Allman says, "One of the greatest moments of my life -- really, quite literally, it's very bizarre how affected I was by it -- there was this guy, he sends me e-mail, and then he actually calls me, he's got a problem with sendmail. He's got some really off-the-wall configuration, can't figure out how to do it. I answered this guy's question, and we went back and forth, and I was like, what the hell are you trying to do? A couple of days later I get a call again from him, and he says, 'I want to thank you, it worked great. Let me tell you what I'm doing: I work for the Chicago public schools, and we've got this deal set up where we are exchanging e-mail with kids in the Moscow public schools.'
"This was before the collapse of the Soviet Union," Allman adds, "and they had set up this network link between Chicago and Moscow. And sendmail was the magic piece they needed so that they could get through -- believe me, it wasn't exactly a straightforward link, not in the Cold War days. Every day they could get a turnaround on mail between these kids. I looked at this and thought, 'God, the world is smaller, isn't it?'"
It's not just about getting kids together from different countries, either. There's also great reward, says Allman, in permitting people who might otherwise find their freedom of speech constrained to reach out and find each other online. In fact, Allman is opposed to one proposed solution to spam -- secure authentication -- for precisely that reason.
Secure authentication would allow every piece of e-mail to be easily traced to its actual sender, thus allowing the easy identification of spammers who attempt to abuse the system. But, according to a story in SunWorld, Allman told an interviewer at last year's LISA (Large Installed Systems Administration) conference that such authentication is "exactly what the police want," and that he believes anonymity has a place on the Net.
"I want to know who the spammers are, and I want gay teens to be able to communicate on the Net anonymously," Allman told SunWorld -- but with authenticated mail, "there are conflicts between these two goals."
Allman, who is gay himself, places weight on the importance of protecting people's privacy while at the same time facilitating their ability to communicate. (He also told the Advocate earlier this year that he takes a "sort of perverse pleasure in knowing that it's basically impossible to send a piece of hate mail through the Internet without its being touched by a gay program.")
I asked him if he appreciated sendmail for its value in promoting communication, above and beyond its efficacy as a tool, or its potential as a profit-producing cash cow.
He looked me straight in the eye and paused, obviously searching for the exquisitely appropriate response.
"How do I say 'absolutely' strongly enough?"