The Internet has revolutionised the way we do business. Complex commercial transactions can now be securely conducted across corporate boundaries. And yet of all the applications the Net has yielded, the simplest idea, e-mail, has surely been the most successful. The development of electronic mail was in no small part due to the work of Eric Allman, author of the Sendmail mailing system.
What was your route into software engineering?
I had been intrigued by electronics since I was so high, had a chance to do some computer programming in seventh grade, and was totally hooked. You didn't burn your fingers as often on software. I was always interested in telephones and the concept of switching things somehow, and in particular things that enabled better communication. The first time I had e-mail I thought, "This is cool", although there was no network, so the only person you could send e-mail to was the guy next to you.
The University of California at Berkeley got involved in networking early on. We had this Arpanet connection that came into our research machine and everyone wanted an account so they could get to the Arpanet - the predecessor to the Internet. We had a pretty small machine and we couldn't support all those people.
I realised we had this local network and I said to myself, "So, that is software, and this is software. How difficult can it be to write software to plug this piece of software to that piece of software?"
This I did. (But it was harder than I thought). In a sense, it was one of the early inter-networking systems.
Then the Internet started to come along and the university, since it had done all this work in Berkeley Unix, got the Arpa contract to do a lot of the development including a mail system. I had loved e-mail for so long, I got involved with it and it was a lot of fun. I did it and gave it away for 17 years.
Did you realise you were part of a communications revolution?
I knew it was a significant development because I'd been using it for a long time. There weren't many people on the Arpanet, but it had already changed the way you communicated with people - you could have research associates who, instead of being a few miles away were thousands of miles away, and still realistically work with them.
Today, I can work with somebody in the UK when I am sitting in California with no particular difficulties. But if we had to get into a room together to hash things out, it is a whole bunch of money and jetlag. In that sense I think it really has made the world a little bit smaller. I don't think I understood, though, that this would lead to my mother buying a computer to get e-mail.
How have you viewed the growing importance of e-mail security?
Very sadly. The Arpanet and early Internet were designed for sharing, so if you wanted an account on somebody else's machine you asked, and they said, "There you go." Everything's different now. It's about building walls instead of bridges - and it is necessary.
So part of me wishes for the good old days when we were all friends on the Net and all helping each other out, but on the other hand it is sadness but not distaste. We have just got up to a certain size.
How can we avoid spamming?
Don't let anyone know your e-mail address! But I'm hardly one to talk. At my office, for a while I was up to 35,000 messages, but at some point I said, I am not going to read any of that, so I got it down to about 10,000. When I get that far behind I don't even try to read it. I set it aside, and if somebody says, "Did you get that very important e-mail?" I can say, "Actually, yes I did."
We have reached a stage where everyone demands e-mail. But is this workable?
Giving your whole staff e-mail access is a completely legitimate thing to do. I think it's inevitable. But it used to be that almost everyone on the network was very technical and adept - now the vast majority of people on the network don't understand how things work. So they do things without any malicious intent that are really pretty bad.
We have got someone in the company who we are starting to train not to send big Powerpoint attachments out to the entire
company. We have tried everything short of using a baseball bat. She is not malicious about it - she doesn't understand.
Short of a baseball bat, then, how can we make users aware of their e-mail responsibilities?
As much as we need to do this, I think it's impossible, because there are always new people coming onto the Net.
Even if we could magically subliminally train everyone to do the right thing, tomorrow there will be another couple of thousand people on the Internet who don't know about it. A certain amount of it has to come down to training. Users need to understand that if somebody sends an executable, maybe it's not a good idea to just run it without checking with them first.
Is there a sense in which you feel the future of e-mail is threatened?
I do sometimes have nightmares about whether this is, in fact, a house of cards that's going to crash down around us. I'd like to believe there is something more fundamental here. Unfortunately, the economics of e-mail is such that you don't have to give any thought whatsoever to mailing however many people. I periodically get jokes from people who send to everyone in their address book. After you get the same joke five times it's not funny any more. However, I'm on another mailing list that is a culmination of interesting views and commentary, and this one I actively subscribe to.
How did you begin commercialising Sendmail?
When Sendmail got distributed with Berkeley Unix it took off quickly and I sort of got sucked into it. In the early- to mid-1990s the [take-up] curve started getting bigger fast. There were a lot more users, and they were not as sophisticated as before.
At that point I had a group of volunteers called the Sendmail Consortium and these people are still involved. They mostly helped with support but we also bounced around ideas for new features and some of them helped with coding. That kept things going for a couple of years, but then we reached a point that I called a success disaster. We were so successful that we were about to run into a brick wall at 60 miles an hour. Something had to change. I was fortunate that a friend of mine, Greg Olsen, agreed to help me out with business marketing and strategy.
How did your business model evolve?
We saw from the start that we had to maintain the open source. There was too much bitterness for people who had done technology grabs, taking an open source product and turning it into closed source. Profit is approximately equal to revenue minus expenses so we could either make expenses negative, which didn't seem likely, or we could create a positive profit.
We came up with this hybrid model where we said, "We'll continue to send out Sendmail as open source. We'll develop it, we'll put corporate resources into improving it and we'll give it away. But we'll also do things that we're not going to give away that enhance it - specifically targeted for the business community." We started off doing a centrally administrated user interface that made it easier to configure a name to the system. That's been extended tremendously now so you can do things like administer clusters and give wireless access.
We found we were starting to get big companies coming to us saying they wanted to buy our product and wanted to buy engineers to come in and help architect the system. That's where we focus now. These people often know they have a problem and they usually know that it's far too expensive for them to build expertise in-house.
Is open source mature enough for the corporate market?
Linux would not be accepted if it was perceived as a hobbyist market. The reason it's not is because it's got backing from some real companies now. People like IBM and Red Hat have made it a much less risky choice than before. Linux still has room to grow, but that's fine - everything has room to grow. It absorbs things quickly, which is one of its strengths. IBM is backing Linux on all its platforms, which I think is a brilliant move. The concept that, as you grow you can upgrade from the small stuff to the S/390 and all you have to do is recompile your software, is fabulous.
Right now its sweet spot is the server market. I don't think Linux is ready for the desktop except for the very sophisticated user. I'm not a Windows fan at all but I have to admit that for someone who is not technical, it does hold your hand.
What about the issue of support?
You either need fairly substantial expertise on-staff or a support contract from a stable company if you are using this stuff for mission-critical applications. There are still people who just want to download the code off of the Net and compile it, and that's fine, but I would be nervous about running my Linux and Sendmail-based system off a pure open source unless I was a very good coder.
So you wouldn't hesitate to recommend open source?
Why would you be more uncomfortable about a piece of code just because you can see what's in it? It's certainly true that there's still a core of Linux work that is done by volunteers but there are a lot of them and you get strength through numbers. There are many people auditing that code, more so than there would be for commercial software. If anything, it's more inherently reliable when it's open source because there are more people looking at it. Programmers have this mentality - when you know somebody's going to be looking at your code you think about it
and you write nicer code because they're going to say, "Oh this guy was a good programmer," or they're going to say "This is a pile of steaming dung". Frankly a lot of commercial software, regrettably, is more of that latter category.
Fundamentally I would say buy whatever does the best job for you - and don't get scared about the concept of open source. But there are lots of measures for that. For example, I can get an open source database system for not much money and I can buy the DB package from Sleepycat Software - that's primarily an embedded database, it's supported, it's open source code and it's great. Or you can go to Oracle, spend huge amounts of money and get something that is not customised for embedded, will run slower, and cost more. If you want the name Oracle you'll probably go in that direction, but if you need an embedded database it's not the best solution.
Find the best solution for the job. Obviously I wouldn't say, "Don't buy Sendmail because it's open source". That's insane. In some cases you might actually need open source - you may be in a position where you know you are going to have to modify something. For closed source things you can often arrange to buy the source code for yourself - that tends to be very expensive.