`
mylxiaoyi
  • 浏览: 327671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

德若特:黑客和他的城堡

阅读更多

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仍是一套非常艰涩难用的操作系统,这并不便于让它更加流行。但德若特并不打算自己来解决这个问题。“我们会花费更多时间来保证它足够棒,而不是把时间用在让大众觉得它更美味可口上。”

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics