德鲁·埃克哈特访谈

作者:Linux Journal Staff

欢迎来到Linux Journal的 Linux 内核名人录的未删节版本。如果您还没有看过我们的 2000 年 6 月刊,其中收录了 40 位内核先驱(黑客,如 Lars Wirzenius、Pauline Middlelink,当然还有 Linus Torvalds)的简介,请务必从离您最近的报摊或离您最近的 Linux Journal 网站上获取一份。如果您已经阅读了这些简介,那么我们发送给 Linux 内核的每位主要贡献者的原始采访的未删节版本,可能会揭示一些惊喜和更多细节。

在接下来的几周内,我们将在Linux Journal网站上发布原始采访。请坐下来,欣赏一下帮助 Linux 成为可能的那些人的几句话!

--David Penn

德鲁·埃克哈特访谈

Linux Journal您最初是如何了解 Linux 的?当时您在生活中做什么?

德鲁·埃克哈特:我看到 Linus 在 Usenet 上发布了一篇帖子,大意是“我拼凑了这个类似 Minix 的系统来学习 i86 架构。你们可能想看看……”当时我是一名 18 岁的学生,在科罗拉多大学学习计算机科学。我的 Woz 奖学金的一个条件是在大学担任杂务系统管理员,Evi Nemeth 是我的老板。她给了我一个登录名,告诉我 man 命令,解释了 sudo,并让我可以在 CU-CS 本科生实验室中自由使用 root 权限。

我很快就决定 UNIX 对黑客很友好——“黑客”的经典含义是以优雅的方式将碎片拼凑在一起,使它们做有趣的事情。

LJ与 FreeBSD、专有 UNIX 系统或 Windows 等利润丰厚的领域相比,是什么吸引了您?是什么让您想帮助开发?

德鲁:当时,唯一可自由再发行的 BSD 是 Jolitzes 的项目。他们说,由于它是一个研究系统,因此它是否在每个人的系统上运行并不重要,并且不接受补丁。另一方面,Linus 接受了我对引导块和 IDE/WD1003 驱动程序的更改,并在当天发布了新版本。由于我想在我的机器上拥有 UNIX,而又不想花租金购买更多(受支持的)硬件,所以我更喜欢 Linus 的方法。后来,Linux 在小型系统上运行得更好,我有惯性,而 AT&T 的诉讼使我远离了 BSD。

当时,我从未运行过任何商业 PC Unix。后来,我在商业环境中使用过 SCO,发现它比 Linux 慢且不稳定。金钱实际上不是一个考虑因素。我开始在空闲时间做 UNIX,因为它的界面和工具比 Microsoft 产品更程序员友好和优雅。最近,我发现有能力的人的薪水更多地取决于他们的谈判技巧,而不是他们决定从事的领域。

关于开发,我想在我的硬件上运行一些免费的 UNIX。由于我不喜欢 Bill Jolitz 的做法,这意味着 Linux。当我第一次拿到它时,引导块在我的系统上不起作用(我使用 Perl 脚本将源代码转换为 A86 并进行调整,直到它们起作用)。在那之后,当系统具有非 IDE/WD1003 驱动器时,磁盘驱动程序不会启动。Linux 在我的 45M MFM 驱动器上运行良好,尽管我认为它在我的 85M SCSI 驱动器上会运行得更好。

我太不耐烦了,不想等待别人来解决这些问题,而且解决方案(即使不一定是最正确或最优雅的)也不太困难。再往后,我继续为 Linux 内核做贡献,因为它很有趣。我做了 SCSI-HOWTO,以减少我在电子邮件或 Usenet 上回答相同问题的次数。

LJ您个人对 Linux 的哪个部分感兴趣并致力于此?您现在还参与 Linux 开发吗?

德鲁:SCSI 子系统。而且,不参与了。当我开始在专业上玩更有趣的项目时,我不再有需要在业余时间填补的空白。为 Linux 内核和用户区开发也太接近我在工作中做的事情(专有的 FreeBSD VFS 代码和用户区系统软件)。我在家拼凑的一些 UNIX 黑客程序都是在 FreeBSD 下完成的,因为 FreeBSD 的构建过程更连贯。

LJ对您来说,Linux 最重要的是什么?Linux 最好的地方是什么?

德鲁:这是一个玩有趣的非平凡软件项目的机会。Linux 最好的地方是社区的规模,因为其中有许多程序员贡献了设备驱动程序和用户区端口。

LJGNU 项目有多重要?GNU Hurd 在您的思考中起到了什么作用?Linux 应该被称为 GNU/Linux 吗?

德鲁:GNU 项目非常重要,有两个方面。一是,它提供了一个可用的免费工具链,允许任何人为该项目做出贡献。二是,它证明了大型分布式软件项目是可行的。还有第三个原因,有点。所有工作站供应商(Sun、DEC、HP)都使用了大量的 BSD 代码,并且对免费提供的源代码的贡献极少。GPL 迫使公司将其更改贡献回 Linux 工作,并以源代码形式发布其驱动程序,以便即使公司不愿意这样做,也可以修复错误。

Linux 背后的动机是一个有用的系统。HURD 看起来会是一个探索有趣想法的游乐场,即使它们使系统不太实用。使用 4M 386-33,我更喜欢“有用的系统”方法。

“GNU/Linux”是 RMS 试图利用 Linux 的成功。Tom Christiansen 查看了他的 Linux 机器有多少是 GNU、X 联盟或 BSD 的。如果我没记错的话,他发现我们不到 20% 的代码来自自由软件基金会。其他来源对他使用的发行版的贡献都超过了这个比例。

LJ在当时,当几位计算机名人认为通过互联网组织成功的软件开发即使不是不可能,也很困难的时候,通过互联网与他人合作是什么感觉?您意识到这种方法有多么革命性吗?

德鲁:事后看来,开发工作与商业环境并没有太大不同,在商业环境中,开发人员躲在办公室里,致力于某个子系统,并在某些功能完成后发布代码。不幸的是,商业环境和 Linux 内核都缺乏设计和实现聚会(我不愿意使用与“会议”相关的负面含义),这些聚会提供了最干净、最小、最快和最可维护的实现所需的多重视角。

Linux 和一些商业项目也遭受缺乏正式的自动化回归测试的困扰,这使得很难确定哪些更改导致了错误或性能下降。在 Linux 之前,我从未从事过非平凡的项目,因此我没有基线可以与之比较。直到我幸运地获得了我的第三个全职专业职位,我才知道开发过程中缺少什么。

LJ您现在的生活在做什么?典型的一天是什么样的?您如何抽出时间工作和使用 Linux,以及您如何在自由软件与谋生需求(或致富的愿望)之间取得平衡?您有什么爱好?

德鲁:我是一名软件工程师。我工作的公司为广播(商业广告播放、新闻节目广播、东西海岸时差)和后期制作(计算机特效)市场构建数字视频服务器。我们的盒子在定制的 i86 硬件上运行 FreeBSD。我仍然单身,在约会期和发誓不再碰女人这两种状态之间交替,因为女人是一种不必要的挫败感。

典型的一天?取决于我与谁一起工作(与同一子系统一起工作的人工作时间为朝九晚五,需要早点到),黄金工作时间的机器短缺以及我目前是否患有需要午餐骑行的自行车瘾,我通常在上午 10 点到下午 2 点之间上班。由于我对通勤过敏,因此我不在这座城镇以外的地方工作。目前,这使得我每天单程步行、骑自行车或摩托车 3 英里。

几个小时后,我组装一个三明治或狼吞虎咽地吃垃圾食品作为午餐。晚餐通常在 7 点或 8 点外出就餐,餐厅的选择取决于谁去(我几乎喜欢所有东西,除了美国和欧洲蔬菜,尽管我的一位同事用餐伙伴无法接受“矫揉造作的”装饰和大多数外国食物)。假设没有截止日期临近,工作 8-10 小时后,我回家,喂我的鱼,并且经常玩弹球游戏过量。

总而言之,我在一个完全免费的软件环境中开发,过着舒适的生活。

LJ您认为除了 Linus 之外,谁对 Linux 社区的影响最大,为什么?

德鲁:可能是 Alan Cox,因为他在 Linux 网络代码和各种其他项目中所做的工作。

LJ您认为 Linux 为了进一步成功,最需要添加或更改什么?Linux 开发需要朝哪个方向发展?Linux 的未来在哪里最光明?今天 Linux 面临的最大威胁是什么?

德鲁:在服务器环境中,集群最重要。在桌面上,Microsoft 兼容性。至于威胁,在服务器市场上,我可以说 Microsoft,因为理论上他们可以生产更好的服务器软件。在 UNIX 桌面上,我可以说 FreeBSD,因为它的 CVS 存储库使跟踪最新更改变得容易得多,并且它的安装更完整和连贯。

但是,惯性有很多话要说。“每个人都知道”Microsoft 的操作系统经常崩溃,他们的服务器软件不安全且无法扩展。这将需要很多努力才能克服。很多人都可以运行其中一个 BSD,尽管它们没有为普通用户提供足够的明显优势来切换。Jane Doe 将安装 Linux 而不是 BSD,因为那是她的朋友拥有的,并且大众媒体正在报道。

LJ您对 Linux 目前的流行程度有何看法?您是否更希望它仍然局限于黑客社区?它能在边缘生存下来吗?

德鲁:当然。只要有开发人员运行它,Linux 就会生存下来。

LJ如果没有首次公开募股和资金支持,它能生存下来吗?Linux 的商业化产生了什么影响?您对 Linux 牟利以及那些通过他人的志愿努力赚取数百万美元的人有何看法?

德鲁:商业化赋予了自由软件可信度,这使得人们可以在更多的商业环境中使用它。它还促成了几次首次公开募股,这些募股在不同程度上丰富了大量股票投资组合。

关于牟利,我是资本主义的忠实拥护者。我在外面吃饭时也会合理地给小费,并且认为给小费是正确的事情。Linux 社区中的一个类似之处是来自成功的商业开发人员的更多源代码、服务和财务贡献。

LJLinux 如何在桌面领域与 Microsoft 竞争,如果我们不拿下桌面,我们能否保住商业领域?我们能否在不通过简化 Linux 来破坏 Linux 精神的情况下拿下桌面?我们下一个增长和扩张领域将在哪里?

德鲁:Linux 可以通过一个无法在其他地方运行的杀手级应用程序来竞争。从历史上看,特定于平台的杀手级应用程序已经销售了大量操作系统副本和运行它们所需的硬件。《索尼克》卖出了世嘉游戏机。Visi-calc 卖出了 CP/M 和 Z80。Turbo-Tax 是许多最忠实的 UNIX 用户在他们的机器上安装 Microsoft 的原因。更好的 Windows 兼容性或 VMware 的销售也可能会有所帮助,因为它们将允许人们运行 Linux 应用程序,而无需重新启动即可运行他们“需要的”Microsoft 应用程序。

只要 UNIX 软件比 Microsoft 的产品更强大、更安全、更可扩展和更快,各种 Unix 仍将是专用 Internet 服务器的选择。随着 Microsoft 提供更可靠的软件,由于声誉和惯性,UNIX 服务器在一段时间内仍将是首选。

防白痴的用户界面并不排除对专家友好的界面。除了 AIX 之外,许多工作站 Unix 提供的图形系统管理工具仍然允许您编辑文件。弹出式搜索框仍然可以使用正则表达式。象形文字图标并不排除命令行。只要 UNIX 用户区程序不被替换,我们就不会变得更糟,尽管我希望看到新软件上出现更灵活(可脚本化、正则表达式增强等)和高效(受过教育的人可以更快地键入“find”,而不是找到一张看起来有点像双筒望远镜的图片并单击它)的界面。

LJ您对为 Linux 编写商业应用程序以及一般的专有软件和协议有何看法?您运行 Linux 更多是出于哲学原因还是实用原因?如果出现看起来更好的东西,人们会跳槽吗?相反,即使 Linux 以某种方式退化、走错路或停止发展,我们也会继续使用 Linux 吗?

德鲁:Linux 的商业应用程序很棒。更多功能是好事。不过,免费应用程序会更好。在利基市场中,我们将始终拥有专有软件,因为这些市场无法或不会为新产品提供资金,并且软件公司无法保证他们会出售支付事后开发所需的支持。

在普通消费市场中,(专有软件的)末日可能已经屈指可数了。撇开法律问题不谈,当您可以以 1 美元的价格在 CD 上获得相同的软件时,购买收缩包装的专有软件有点傻。我认为人们支付更多费用是为了获得包装、文档、支持和其他零售购买者可获得的服务。自由软件使现有情况正式化,并为软件生产者(他们不需要从头开始开发新产品,从而降低了劳动力成本并缩短了上市时间)和消费者(即使原始公司不愿意这样做,他们也可以修复错误并开发新功能)都带来了好处。

专有协议更有可能存在漏洞,这些漏洞稍后会被黑客利用,这有点不道德,并且可能非法。

LJ您对不同的许可证有何看法?GPL、LGPL、QPL 等?

德鲁:GPL 既有好处(它迫使公司在相同的条款下分发衍生作品),也有缺点(它迫使公司在相同的条款下分发衍生作品)。

LJ您是否认为社区应该只支持开源/自由软件?如果开源方法论的持续成功出现滞后或停顿,社区将如何度过难关?自由软件哲学是否足够强大,并且有足够多的拥护者来帮助我们渡过难关?

德鲁:即使 RMS 也承认(通过他的行动)社区应该同时支持专有软件和自由软件。上次我遇到 RMS 时,他的笔记本电脑使用专有固件启动。

电子邮件:ljeditors@ssc.com

加载 Disqus 评论