ACM的人-埃里克·奥尔曼

2014年1月9日

艾瑞·奥尔曼发达的发送邮件及其前体投递邮件20世纪70年代末和80年代初,在加州大学伯克利分校。该程序旨在通过仍然相对较小的ARPANET网络发送电子邮件,并支持多种邮件传输协议,包括SMTP、ESMTP和DECnet的mail-11。1998年,他创立了Sendmail,Inc。

他是ACM队列杂志、ACM理事会和Cal表演董事会。此前,他是USENIX的副总裁兼财务主管。2006年,他在科罗拉多州的Telluride获得了TellurideTech Festival技术奖,2009年,他被ACM评为杰出工程师。2013年,加州大学伯克利分校授予奥尔曼计算机科学杰出校友称号。

奥尔曼与人合著了《奥莱利》一书发送邮件与Bryan Costales合作,并为开源应用程序的体系结构。他经常谈论和写作与电子邮件、开源和互联网有关的问题。

由于您作为开源项目开发的Sendmail公司及其互联网电子邮件核心技术最近被Proofpoint收购,您如何看待这项技术的发展?

开源的sendmail代码是一个带有插件架构的MTA(邮件传输代理)(sendmail称之为“milter”,是“邮件过滤器”的组合),允许即时处理邮件,例如垃圾邮件过滤。sendmail本身不处理这些更高级别的服务。在大多数情况下,发展正在这些密尔特发生。尽管一些新的MTA扩展可能是必要的,但大多数的发展都将在数英里内完成。

作为ACM队列咨询委员会(ACM Queue Advisory Board)的最初成员,您认为本出版物对计算机从业者社区的最重要影响是什么?

我们的目标是排队是为了填补研究期刊(ACM是一个明显的领导者)和行业出版物之间的差距,而行业出版物往往只是新闻稿的集合,其编辑政策受到广告商的影响。我们试图涵盖即将出现但尚未触及大众意识的技术。此外,我们的独立性允许我们质疑假设。鉴于我们强大的读者群,Queue正在成功实现我们的目标。

你在伯克利的早期接触肯·汤普森、比尔·乔伊和埃里克·施密特等计算机界传奇人物对你的职业轨迹有什么影响?

如果你加入UNIX操作系统,它几乎与我的职业轨迹有关。我认为自己非常幸运,能够与UNIX同时进入伯克利。特别是像比尔这样的人,鼓励“把手弄脏”的态度,这使我学到了很多。比尔在UNIX上的工作一定是肯·汤普森决定在伯克利休假的一部分。当他在那里时,他主持了一个非正式的夜校,作为第六版内核的导读。这个小组足够小,可以容纳在一个小教室里。我最初写的投递邮件(前身为发送邮件)作为将Arpanet与BerkNET结合起来的工具,顺便说一句,这本书是埃里克·施密特写的,但比尔是鼓励我做出(相当大的)飞跃的人发送邮件互联网转型所需;没有他,我可能不会这样做。

作为一名有成就的计算机从业者,你会给刚开始接触开源世界的年轻人什么建议?

这很难回答,因为这在很大程度上取决于你的环境。实际上,很难从头开始创建一个项目并使其起飞,因此,参与一个正在寻找志愿者的现有项目是一个好主意。一些项目(脑海中浮现的是FreeBSD)有一个指导计划来帮助教会新人们诀窍。其他人不会有正式的项目,但如果可能的话,我仍然建议找一位导师。我建议你做一些你真正关心的事情,如果可能的话,做一些你想自己使用的事情,因为在大多数情况下,你没有得到报酬。如果你正在编写代码,那么计划编写一个比你为一个类甚至是一份带薪工作更干净的代码。记住,你的声誉将受到威胁,开源黑客往往对写得不好、没有文档记录的代码容忍度很低。记住,您不必编写代码——大多数项目都非常需要编写文档、进行构建工程和测试代码。

有一件事经常被忽视,那就是你想开发什么样的软件,通常分为三类:直接与最终用户交互的代码,通常是图形用户界面;库和框架代码,需要非常可移植,在通用环境中运行,并将由其他程序员使用;和非接口代码,比如一些命令行程序和几乎所有的系统守护进程。

如果能够指出某件事并说“我写的”对你来说很重要,那么第一节课可能对你最有用。后两者中的任何一个都需要一种截然不同的态度:如果你的代码工作正常,人们就会忘记它的存在。例如,除了发送邮件我写了syslog,虽然现在几乎每个系统都支持它(包括HP打印机之类的东西),但除了尝试调试或监视某些服务的人之外,它几乎消失在了所有人的视线中。选择一个符合你个性的项目——如果你做的事情不适合你,你就不太可能做好。