开源软件的斗士:Eric Steven Raymond
【IT168 技术人生】Eric Steven Raymond 1957年出生于美国马萨诸塞州的波士顿,从小就跟随父母在世界各地东奔西走。他曾在地球上三块大陆居住过,在13岁之前就已经忘掉了两种语言。1971年,他回到美国宾夕法尼亚州。1976年,他开始接触“黑客”(在本文中,黑客指那些酷爱计算机编程的人)文化,1982年完成了他的第一个自由软件项目。1985年,他辞去了最后一份工作。此后,就开始集中精力于编程、写书及一些技术评论等工作上,并再也没有重新为金钱而工作。
Raymond是一个彻头彻尾的自由主义者。他对科幻小说十分感兴趣,是一名出色的业余音乐家,还是空手道黑带选手。他坚持美国宪法修正案第二条中关于公民持枪械的自由,并因此遭到很多人的反对,但他自己却十分喜欢和人争辩该议题。
与Linux最初的亲密接触
Eric Steven Raymond最初的编程经验来自于原始的ARPANet。那时的他涉猎甚广,甚至短期接触过ITS机器。1984年自由软件基金会成立以前,他已经在写自由软件,并投递到Usenet。这样,他顺理成章地成为了自由软件基金会最早的撰稿人之一。
Raymond精通C、Lisp、Pascal、APL、Fortran及BASIC语言,曾在Apple II、Macintosh、Sun、IBM PC、VAX II-75、DEC-10、PDP-8、Z80等多种系统上开发过软件。他曾经为Emacs编辑器的发展作过贡献,管理着30多个开源软件,以及10多个主要的FAQ。他是Intercal编程语言的主要创作者之一。Intercal是一种鲜为人知的程序设计语言。有人评价说,自认为是“超级黑客”的人可以试试用这个语言写程序。之后也许就会变得谦虚,或者更加骄傲。
Linux诞生后,很多人感到难以想象一个世界级的操作系统竟是靠用Internet连接起来,由散布在全球的几千个开发人员用业余时间来创造的。这些感到疑惑的人当中也包括Eric Steven Raymond。
当时,Raymond相信某些重要、复杂的事情需要集中化的、严密的方法,相信多数重要软件(操作系统和像Emacs一样的真正大型的工具)需要一群与世隔绝的奇才的细心工作。而Linux团体却有各种不同的方法(Linux归档站点接受任何人的建议和作品),显得有点杂乱无章。但事实是一个一致而稳定的系统就像奇迹一般从这个看似杂乱无章的设计风格中产生了。Raymond开始努力尝试着理解为什么Linux世界不仅没有在一片混乱中分崩离析,反而以人们不可想象的速度变得越来越强大。1993年,Raymond试图在家中收发邮件时遇到了困难,这次他没有还像从前那样立即投入疯狂的工作中,编出一个新的POP3客户与现存的那些竞争,而是从一开始就效法Linus的做法:Linus并不是从头开始写Linux的。Raymond首先做的是寻找一个合适的POP雏形,然后对它进行重写。他首先选择了Fetchpop,后来又改用Popclient,并继承了Popclient的用户基础。然后,他像Linus那样把用户当作协作开发者,把做好的程序早发布、常发布、听取用户的建议。最后,在Raymond认为条件成熟时,他正式将Popclient更名为Fetchmail。
Fetchmail是一款免费、全功能、稳定性好、文档说明齐备的远程邮件发送和接收软件。根据目前用户的名称,Fetchmail可以将Internet上任意一台邮件服务器POP3账号处的电子邮件下载到本地,存放在用户的目录中。这样,用户只要在自己的终端上就可以阅读邮件。Fetchmail主要被应用在临时接通的TCP/IP 线路 (例如SLIP或 PPP连线)上,它支持当今所有的邮件协议,包括POP2、POP3、RPOP、APOP和KPOP等,甚至IPv6和IPSEC (即IP安全协议),它可以被用来作为整个DNS 网域中,POP/IMAP协议转换至SMTP协议的网关。 通过它所寄出的信件,可以被一般的电子邮件使用者代理程序,例如mutt、elm或BSD Mail 来读取。有了它之后,MTA的过滤、转发、别名的运作,就如同处理一般信件一样容易。
Fetchmail的强大的功能使他获得了成功。Raymond感到Linux的这种开发风格确实能工作,并且工作得很好。他为此而感到欣喜不已,同时也想让更多的人来分享他的惊喜的发现。