德若特(Theo De Raadt):早期unix程序员.NetBSD与FreeBSD core team的成员.OpenBSD与OpenSSH的创始人,一个内核级hacker,加那大人.
个人网页:www.theos.com
黑客和它的坚固城堡
Windows不停升级仍无法抵御黑客、病毒与垃圾邮件,一个加拿大黑客率领60人做出了世界上最安全的操作系统,而且它是免费的
10年前,希欧?德若特(Theo De Raadt)陷入了人生的最低谷,至少在别人看来是这样
。他当时没有一份正式的工作,并且刚刚从一个开源软件开发团队NetBSD被踢了出来。而编写开源软件代码是他唯一想做的事情。
德若特9岁时随父母一起从南非搬到了加拿大,后来在卡尔加里大学获得了计算机科学学位。在上大学之前这个家伙就想编写开源软件了。在那个时代程序员们会编写一些东西然后把他们贴到BBS上面。然后这些东西就会传播出去,这是很时髦的事情。德若特最初编写了一些小的图形程序和小游戏,后来在Unix风光的日子里他成为comp.sources.unix新闻组的一员。尽管随后互联网开始变得流行起来,但德若特和朋友们仍旧做着同样的事情。
“这里面的大多数人,比如我,编写开源软件因为这是一种协同工作、迸发好点子的文化。”德若特回忆道,“我们不愿把编写程序当成一份工作。”毕业后暂时作了几天程序开发员后,1993年这个家伙就和3个朋友一起开发出一套叫做NetBSD的系统。但自从他和另外一名开发人员发生了矛盾后,事情就一发不可收拾了。
“那家伙是个彻头彻尾的衰人!我当时让他少聊天踏踏实实做些工作。”至今德若特仍不依不饶。后来这名程序员通过Email向德若特道歉。但他甚至没有删除这封邮件,反而用恶毒的、过分的语言回复对方,同时将这封邮件抄送给成百上千的开发高手取乐。于是在合作一年后因为自己的莽撞和不厚道,德若特被踢出了这个团队。
但德若特毫不在乎,他立即着手开发一套NetBSD的竞争产品,并且在几个月后他就发布了这套名为OpenBSD的操作系统的第一个版本。而那封不厚道的邮件甚至被视为是OpenBSD的立项文件。如今用Google搜索“theo de raadt”时,这封邮件的内容链接仍会位于结果列表中的前几位。
OpenBSD曾赢得过“安装四年也找不到一个漏洞”的美名,这套操作系统源于古老的Berkeley Unix,这个星球上另外两大十分出色的操作系统——Sun微系统公司的Solaris和
苹果电脑公司的OS X——也同源于此。10年之后,德若特高兴地看到相比NetBSD他的软件更受人们关注。由于采用了先进的密码系统和数据通讯过滤,英特尔、甲骨文、Adobe的公司系统中都运行着OpenBSD。而且它不收一分钱。
为什么在安全问题成为整个行业最头疼的问题时,德若特却能够让OpenBSD在这个敏感话题上声名显赫呢?很简单,那就是认真。
他们采取最基础的办法:一行行检索源代码,找出问题。整个团队中有10到15个人,大概用了4年的时间彻底检查了OpenBSD那300兆的源码。一旦发现错误,开发人员不是立即修改,然后继续寻找其它的错误。OpenBSD的家伙们则是停下来分析这个错误的根源是什么,尽可能一举将整个系统里的所有同类错误修正。如此大概找到了100个普遍问题。
与此同时,改善程序的系统构造,让每个功能都有序运行。另外,德若特认为如今许多软件过于复杂化,过于庞大的程序就很难兼顾安全。当程序开发人员编写出一个功能复杂的软件的时候,其安全性却很低。于是OpenBSD有80个程序员竭力精简自己的作品。要知道,300兆源码只是相当微软 Windows、Office源码体积的1/4,而这两款软件称得上是世界上最赚钱的软件产品。
但德若特并没有就此寻找投资、转而商业化的打算。接受《环球企业家》专访时,他用“深恶痛绝”表示了自己对资本的感受:“金钱不会提高程序代码的质量,只有技巧和时间才能够做到。”
他每年靠3万加元度日,这笔钱来自销售45美元/张的OpenBSD光盘、印着吉祥物和宣传口号的T恤衫的收入,以及软件用户的捐赠。销售收入和捐赠收入的金额大致相当,除了支付一些生活费用,如宽带、冷气、电灯等,剩下的钱将会用在他们每年一次的黑客马拉松(hackathon)活动上。在那里60个开发人员齐聚一堂,用整整一周的时间面对面地讨论、疯狂编写代码。尽管德若特不反对开源社区中的其他人寻求风险投资的帮助,但他认为这对软件质量的提高不会有太大帮助。因为风险投资商们为了获得更多的回报,将会把大笔的投资用在市场营销方面。而且如果金钱能够做到这一切,那些商业软件早就做的足够好了,德若特自己将会无事可做
无所顾忌
看一看37岁的德若特的生活,就知道他是什么样的人了。在其网站上,他对自己的描述是:一个铁杆黑客、老式UNIX电脑收藏者、狂热的山地自行车手、洞穴探索者、登山迷、初级的酿酒师。而他养的两只猫分别叫“伽利略”和“开普勒”。
在这种充满冒险气质的生活背后,德若特一直是一名言辞犀利到令人难以接受的人,他在加拿大卡尔加里一间地下室里工作,并发表各种异见。
2001年,德若特从美国高级研究项目局获得了一笔2年230万美元的研究基金,得以继续研发OpenBSD。美国高级研究项目局非常重视这套系统刀枪不入的安全性能。但这名黑客又一次张开了他的大嘴。他在一份加拿大报纸上批评伊拉克战争是一场贪婪的石油争夺游戏。没多久美国高级研究项目局就撤销了提供的资助。
尽管德若特作为一名开源软件运动的倡导者和领军人物,但在今年6月接受采访时他对Linux却没有什么好话,只是强调他自己的软件采用了高级严谨的代码。“我认为我们的代码质量更高,因为我们在这上面花了大心思。凑近Linux仔细看看吧,它正在朝着另一个微软发展。这是一套质量低劣的软件,他们的人已经不行了。”
而谈到开源世界的天皇巨星李纳斯 托沃兹(Linus Torvalds)时德若特也毫不客气:“我不知道他的工作重点在什么地方,但肯定不是质量。”当托尔华兹了解了德若特对自己的评价后,只表示了这是一个很难缠的家伙便什么都不说了。
对媒体德若特说:“我被曲解了,我批评Linux是因为它的确在质量上有问题。它可能会变得更流行、更庞大,但不是质量的提高。事实上,一件事情变得越庞大,保持高质量的难度就越大。我说过Linux质量很差的话,并且这是真的。”这也是德若特为什么坚持控制OpenBSD的体积和复杂程度,他坚信小即是美。
即使充满争议性,OpenBSD的研发从未停止。每六个月,就会有一款新的OpenBSD诞生,谈到之所以固定生产周期,德若特的解释是:“这个时间长度刚刚好,以至于我不会因忙碌而自杀。”
德若特得到了开源世界中许多志愿者的帮助。他们每年都会从全世界各个地方聚到卡尔加里一次,为OpenBSD开发新的功能。其中一些人就住在德若特的家里,平时这里只有他和女友。德若特甚至认为有时候这些家伙住的时间太长了。这项年度活动被他们称为黑客马拉松。今年5月份60名包括从澳大利亚、巴西、日本飞来的技术天才们参加了黑客马拉松。他们在凯悦酒店里连续一周几乎没有睡觉,疯狂地编写程序代码。任何人都可以提出自己的意见,但德若特拥有最终决定权。
一家叫做InternetSecure的公司高高兴兴地为今年的黑客马拉松支付了3万美元的账单,这是一家提供线上信用卡交易系统的加拿大公司。去年这家公司在3台英特尔服务器上运行了OpenBSD系统,有效防止了黑客的攻击。在这之前黑客们曾经把他们的服务器打开了花。“目前 OpenBSD是这个星球上最安全的操作系统。” Lok Technology公司的创始人西蒙?洛克(Simon Lok)说道,“我们不会再用其它任何东西了。”
拥有计算机专业博士学位的洛克是德若特或者说是OpenBSD的死忠。他表示Lok Technology公司最初使用的是Linux系统,但4年前当他仔细检查了这套风头正劲的操作系统的源代码后,便决定转换到OpenBSD系统。“你猜我看到了什么?在Linux系统的心脏——系统内核程序里面我看到了开发人员的一行注解‘这行代码属于这里吗?’”洛克说,“这对我的信任是一种打击,那时我就知道是时候更换系统了。”
早期的德若特更多是一个程序员的角色,并且沉醉于被他称为一种“美学”的代码编写过程之中。他和整个团队的工作都是在几乎没有任何管理的情况下完成的。但现在随着越来越多的人加入到OpenBSD工作,德若特不得不花费很多时间去和他们沟通、协调。沟通的工作让整个团队的进度都慢了下来。因为当新人希望为OpenBSD贡献他们的技能和时间时,需要一些时间帮助他们启动并加速。只有这样他们才能够很好的融入OpenBSD的开源社区。
在团队内部,德若特以“慈善的独裁者”而出名:“只要是能够确保安全的,任何事情我都会去做,甚至是来自于我们源代码的进步。我们坚信软件的发展,而非革命;因此,在安全的前提下,变化的脚步却很缓慢,我们一点错误都不想犯。”
这种思路正在得到更为广泛的认可,最近一次他与本刊记者通信时,正在意大利威尼斯和许多开发高手碰面,在那里几乎所有的时间他都在编写代码。
这些高手们丝毫不能理解为什么人们会花费5万美元去购买思科(Cisco Systems)或者Check Point的黑客防火墙,他们能够不花一分钱得到OpenBSD并且获得更好的安全保护。OpenBSD甚至守护着库尔德斯坦(Kurdistan)一条输气管线!
现在还没有人能够从OpenBSD上面赚到钱,最好的情况也只是企业为他们自己节省了开销。 “使用的人没有去宣传,所以它才这样默默无闻,”德若特表示。他不知道或者说不在乎有多少人在使用OpenBSD,尽管它已经被下载了数百万次。“我唯一在乎的是编写高质量的代码。如果强迫我做循规蹈矩的工作,我会疯掉。”德若特甚至并不在乎是否存在一个OpenBSD的市场空间。他坚持认为自己只不过是一个专注于开源代码项目的领导者,而不是关心它是被如何使用的。
其真正的痛苦在于同10几年前相比,他们仍然在一个硬件环境很封闭的世界里编写源代码。很多硬件厂商,从苹果、SUN、IBM、Nvidia、英特尔到戴尔,都在谈论支持和购买开源软件,但另一方面他们又拒绝提供相关文档。因此开源软件工程师很难为这些大公司的硬件产品编写源代码。但据德若特透露,有些时候这些大公司会私下将一些文档流出给像RedHat这样的 Linux软件公司的开发程序员,还要签署NDA协议(Non-Disclosure Agreements)。这样就把许多有能力为某些硬件编写驱动程序的程序师限制在外,只有那个拥有文档的人才可以。
对 OpenBSD团队来说,当这些大型硬件厂商并不向他们提供说明文档的时候,编写支持这些硬件产品的代码是非常困难的。德若特认为他们受到了不公平待遇:当像Red hat这样比较强壮的Linux软件厂商继续允许他们的程序员私下从硬件厂商那里得到说明文档,这将会很大程度的限制了更大范围的开源代码社区中的程序员的工作。“我们越来越多的看到驱动程序中充满了魔术般的数字,这让我们无法对其调试或者改进。”德若特告诉本刊,“这的确是一个挑战。但即使那些较大规模的开源软件公司越来越多地采用私下交易方式,他们也无法阻止我们的成长。因为15年前我们本来就没有什么说明文档。”
是的,态度强硬的德若特和这些大型硬件公司的关系并不够好。他根本不相信他们中的任何一个:“这样的公司并不是开源世界的朋友。不要被他们的花言巧语欺骗了。他们作出开放的姿态,像我们一样,但这却是一个大谎言。对他们来说开源软件只是一个值得利用的东西,但他们却不会帮助它成长。” OpenBSD和任何一家大公司都没有关系,在他们的研发机房里面有IBM的机器,但却不是IBM送给他们的。而据说IBM却特别告诉它旗下的RAID公司Mylex不要把他们产品的说明文档交给OpenBSD团队。
事实上,OpenBSD仍是一套非常艰涩难用的操作系统,这并不便于让它更加流行。但德若特并不打算自己来解决这个问题。“我们会花费更多时间来保证它足够棒,而不是把时间用在让大众觉得它更美味可口上。”