Linux 的正确形象

作者:Randolph Bentson

我收到了一些关于我的书、我为 Linux 编写的设备驱动程序以及我为 Linux Journal 撰写的文章的邮件。几个月前,我收到一封邮件,其中一部分是这样说的:

我的老板是一位很棒的工作伙伴……[但他]认为 Linux 是“大学朋克”的作品,不认为它适合严肃的工作。

他曾因 MINIX 文件系统而做噩梦,并永久地确信 UNIX 根本不可靠,而 Linux 只是那些有空闲时间的满脸青春痘的大二学生的杰作。当我看着你的照片并阅读你的个人简介时,我对此一笑置之。

我只能希望他的笑声是友善的。他老板表达的观点并非我第一次听到。而且,恐怕这也不会是最后一次。尽管如此,我还是决定尝试反驳这些说法。

我怀疑 Linux 的贡献者是一群聪明、经验丰富且受过良好教育的人。各种 Linux 新闻组和邮件列表中的讨论并非无关紧要,最终的操作系统也是如此。我对操作系统的“感觉”是,它基于许多成熟的判断,并且在正在做的事情中存在一些理论基础。

致谢

我收集了一份贡献者名单(来自 /usr/src/linux/CREDITS),并发送了 241 封邮件。此邮件的部分文本显示在侧边栏“致贡献者的信”中。我发送邮件时有些忐忑不安——我不想在人们忙于重要项目时打扰他们,我担心得不到回应。

致贡献者的信

我无需担心。到目前为止,我已经收到了 103 封回复,其中许多都包含了一些鼓励的话语。似乎不只是我一个人想回应那些对 Linux 的不公正指责。(另有 29 封邮件因地址错误而被退回。我希望看到对 CREDITS 文件的更正。)

教育程度

回复的程度是第一个好消息。第二个好消息是,我震惊于开发团队在资历和经验方面都如此强大。

从这些回复中,我发现

  • 1 人只完成了基础公共教育(高中)

  • 15 人上过大学或技术学校

  • 23 人拥有本科学位(理学学士、文学学士等)

  • 19 人上过研究生院

  • 15 人拥有研究生学位(理学硕士、文学硕士等)

  • 9 人完成了进一步的研究生工作

  • 19 人拥有最终学位(博士、医学博士等)

这肯定彻底粉碎了大学黑客的形象——至少是大学二年级学生的部分。当我在避免重写我的论文的同时开始研究 Cyclades 驱动程序时,我以为自己是个例外。我以为,一旦人们获得博士学位,他们就会忙于研究、教学或其他兴趣。我猜 Linux 开发可能是博士们最喜欢的爱好。

当我早些时候提供这些结果的摘要时,我的通讯员报告说,他的老板明智地说道:“这些人都是学术界的,他们中没有人尝试过经营企业。”

经验

我有点预料到会有人这样评论,幸运的是,我在调查中又问了一些问题。一百份回复还报告了编程或从事系统设计工作的年限。

  • 4 人有 1 年经验

  • 10 人有 2-4 年经验

  • 31 人有 5-9 年经验

  • 40 人有 10-20 年经验

  • 16 人有 20 年以上经验

我们中的许多人在集成电路普及之前就开始编程了。(也许祸福参半——我们中的一些人可能仍然患有后 FORTRAN 综合症。)

正如我之前提到的,我也感觉到 Linux 受益于其开发者群体的广泛经验。Linux 可能是少数幸运儿的第一个操作系统,但几乎所有人(除了 3 人)都声称至少是另一种操作系统的熟练用户。83 人是多种其他操作系统的熟练用户。

他们对 Linux 内核的贡献也不是第一次。20 人为另一个操作系统做出了贡献,另有 22 人为多个其他操作系统做出了贡献。一位报告说:

就我个人而言,我和 Linus 有同样的想法,但他抢先一步。(我也听其他人说过。)我知道如何从头开始构建一个类似 UNIX 的系统,而且 PC 确实需要它。(当时,供应商对劣质产品收取过高的价格,而且没有适用于 386 的良好 32 位开发系统。)我只是没有时间。当 Linus 出现在 MINIX 新闻组时,我一直在玩 MINIX,然后它就起飞了。我可以告诉你,虽然我当时是一名学生,但我在此之前已经做了多年的专业系统程序员。所以,我和许多其他人知道什么是专业的优质软件,以及如何生产它。我认为结果非常好。

当前使用情况

最后,我想知道贡献者是否在他们的职业生涯中“从事 Linux”。82 人表示他们目前的工作是基于他们的计算机技能。有趣的是,超过三分之一的人报告说,他们目前的工作支持或依赖于他们的 Linux 开发工作。可悲的是,有两人报告说他们目前失业,但其中一人也指出,他是“自愿失业,以便有时间整理我的生活”。

Linux 开发与学术或商业开发之间一个重要的区别可能是个人兴趣的持续时间。在学术环境中,学生通常只有一个学期,或最多一年时间来处理任何给定的程序。当程序员离开公司时,支持工作由一个不了解过去情况的人接手。Linux 社区由于提交和分发的性质,具有更大的连续性。无论在学校发生什么,或者每天在哪里工作,贡献者都可以与他们拼图的进展保持联系。一位人士指出:“就我个人而言,我确实是在学校开始编写我的代码,但这并不能阻止我现在维护它。”

动机

我的调查没有解决其他一些问题。虽然这似乎与质量和性能无关,但一个人的兴趣与结果有很大关系——这导致了“工艺”和“工作成果”之间的区别。另一个人指出:

“意图”我认为是所有这些争论的焦点。在商业世界中,对于“你为什么要帮助开发 Linux?”这个问题只有一个真正的答案——“为了谋生。”在 Linux 社区中,我非常肯定答案会更接近于“为了我自己使用。”Linux 社区倾向于自我驱动和自我激励,这正是导致我们开发环境取得成功和表面上失败的原因。

我们不是一家公司;我们没有任何一个人或一群人来设定 Linux 将要发展的方向。这个方向是由那些有精力真正事的人设定的。

另一个动机,类似于推动我首次加入这项工作的原因,是另一位受访者分享的,他说:“当我在 [我以前的雇主] 为 Linux 内核编写 [我的代码] 时,我在那里工作。Linux 在那里被广泛使用,我想回馈一些东西。”

动机引出了最后一个也是最重要的问题——一个无法通过开发者调查来检验的问题。

质量

在一个营销驱动的世界中,形象是购买决策的基础。即使可以通过列出资历或统计经验年限来为 Linux 树立良好的形象,我也不愿意转向那个层面。我更希望看到 Linux 的接受度和受欢迎程度基于质量和性能。

即使我没有问关于这个主题的具体问题,也有一些人提供了评论。一条评论似乎含蓄地指出了 Linux 成功的关键所在。

总的来说,我的经验是,我见过的大多数由学生开发的软件都没有达到我希望看到的专业质量。另一方面,我见过的许多由专业软件开发公司开发的商业软件也没有达到我希望看到的专业质量。不同之处在于大多数人看不到商业软件的内部结构。

在这一主题上,另一位作者写道:

Linux 稳定且可用的原因不是因为它的学生程序员 [或缺乏学生程序员]。而是因为 alpha 和 beta 测试人员提供了大量的反馈。当您阅读 Linux 内核时,您会发现许多部分结构不良、编写不佳且文档不完善。然而,人们敢于测试它并报告他们的问题;Linus 和朋友们尊重错误报告并着手修复它们。这就是它运行如此良好的原因。

此外,心理有时会引起奇怪的影响。如果用户在他的系统中发现了一个错误,报告了这个错误并最终看到它被修复,那么该用户会很高兴,因为他受到了尊重。最有可能的是,他甚至比在没有错误的情况下更快乐。

我们不仅需要使 CREDITS 文件处于准确状态,还需要感谢成千上万通过使用 Linux 并与他人分享他们的发现(无论是好的还是坏的)而为 Linux 做出贡献的人。

Peter H. Salus 在 UNIX 二十五年 中报告了 UNIX 哲学,如下所示:

  • 编写程序以协同工作。

  • 编写处理文本流的程序,因为这是一个通用接口。

我想在结尾添加另一个条目,由 UNIX 建议并在 Linux 中占据主导地位:

  • 编写您喜欢的程序。

后记

我刚刚收到了最初发起调查的人发来的消息。他报告说:

我把我的“二手” Linux 机器,一台不起眼的 75MHz 奔腾,配备 64MB 内存和一个小小的 600MB 硬盘带到单位。我的老板惊讶于 StarOffice 等办公应用程序可用,当我用 StarOffice 读取 Word 文档然后将其转换为 HTML 时,他印象非常深刻。Samba 是另一个启示。整体性能给他留下了深刻的印象。在一些粗略的测试中,它的性能优于配备 128MB 内存、双 200MHz 处理器和所有超快速/超宽 SCSI 驱动器的“商业”系统。

在几位来电者表示对 UNIX 版本感兴趣后,我们查看了当前系统的价格。我的老板认为 Linux 的价格确实合适,并要求我开始进行移植。

看来我们又从黑暗面赢得了一场胜利。

The Proper Image for Linux
Randolph Bentson 的第一次 UNIX 体验是在 1981 年 7 月 3 日启动 BSD VAX 系统——第二天全镇都举行了庆祝活动。Bentson 博士于 1994 年 5 月开始为 Linux 内核做出贡献,他的著作《Inside Linux: A Look at Operating System Development》描述了许多现代操作系统功能是如何发展并成为 Linux 的重要组成部分的。可以通过 bentson@grieg.seaslug.org 与他联系。
加载 Disqus 评论