来自 Eric 的免费线索

作者 Doc Searls
Free Clues from Eric

十月中旬,Eric S. Raymond 的著作 《大教堂与集市》 由 O'Reilly & Associates 出版。它不仅包含了 Eric 的里程碑式标题文章的更新版本,还包括两篇姊妹篇章,《圈地Noösphere》和《魔法大锅》。

我们认为采访 Eric 关于他书中新内容是个好主意——而且,由于这位黑客部落的历史学家从不停歇思考,所以也想收集一些他在完成本书后脑海中演变出的想法。这次对话发生在 1999 年 9 月 22 日。

Doc: 既然我们现在有了最终形式的《魔法大锅》,您正在研究哪些新想法呢?

Eric: 有几个。我正在进一步发展我对传统软件开发管理的批判,我在《大教堂与集市》的新增最后一部分中概述了这一点。此外,我注意到 Linux 商业生态系统中的一些有趣发展。

Doc: 让我们先谈谈开发管理的想法。

Eric: 我一直在发展关于玩耍是最有效工作形式的想法。让我们从一个基本问题开始:是什么情况使程序员富有成效?

当程序员既不过于轻松也不过于受挑战时,他们才富有成效——既不会在一端感到无聊和未被充分利用,也不会在另一端因人为的截止日期以及技术和程序上的麻烦而负担过重。当程序员的技能和精力与任务良好匹配时,那时您将看到最高的生产力。有趣的见解是,这些也正是程序员最快乐的环境,当他们编写优秀代码的乐趣最大化时。

因此,为了从您雇佣的人那里获得最大的经济效益,您需要减少顶端的摩擦成本,因为您宁愿为他们的代码付费,而不是为他们的痛苦付费。另一方面,您不希望他们感到无聊——因为当他们感到无聊时,您就无法从他们的能力中提取最大价值。

一般的预测是这样的:享受预示着效率——不仅仅是以某种模糊的新时代的方式,而是以一种务实的经济意义。

如果您以您能想到的最有效方式在创造性工作中使用您的开发人员,他们会很高兴。另一方面,如果您的开发管理风格或制度传统导致您的开发人员一直感到无聊、沮丧和愤怒,那么您就失败了。不仅仅是人文主义上的失败,也是经济上的失败。您未能从您的员工身上榨取最大的生产价值。

Doc: 你们有呆伯特的工作环境。

Eric: 是的。如果您看看传统的软件开发管理,您会发现管理者的五个经典任务中,可能有四个根本不适用于互联网环境。这与其说传统假设在某种深层意义上是错误的,不如说它们是不相关的:它们源于不再与问题相符的假设。由于假设与问题不符,我们遇到了阻抗失配:外面有很多感到无聊、沮丧、愤怒和没有效率的程序员。

现在有一种流行的“汉堡翻转工”管理学派,认为生产工人的这种不快乐无关紧要,只要他们仍然在正确的截止日期前生产出最低限度可接受的产品即可。事实上,一些管理者凭直觉认为,除非人们感到压力,否则他们工作不够努力,所以他们认为正确的做法是时不时地鞭策一下,仅仅是出于一般原则。这就是人为截止日期背后的想法——这是西蒙·莱格里激励理论。

但是,在通往种植园的路上发生了一件有趣的事情——监工们自己正在反抗。管理者越来越沮丧,因为他们正在做所有所谓的“正确”的事情,但他们的工作和成果仍然很糟糕。只有工程师抱怨这些事情的日子早已过去。今天,呆伯特漫画挂在行政人员的隔间里。

想想看。如果系统运转良好,管理者会表现出对它的蔑视吗?

Doc: 汤姆·彼得斯观察到,最畅销的商业书籍是他的和斯科特·亚当斯的。他感叹所有那些呆伯特书籍都无情地愤世嫉俗。

Eric: 在这一点上我完全同意彼得斯的看法。当我与 CEO 和投资银行家交谈时,我试图让他们意识到,亚当斯书籍在整个管理层中的流行实际上并不好笑。这意味着系统已经崩溃。如果我们要修复它,如果我们想让我们的生产力达到应有的水平,我们必须开始从人文主义的角度思考是什么让人们在工作中快乐。我们必须消除呆伯特综合症。

Doc: 生态系统的事情呢?

Eric: 我最近注意到的是,Red Hat 开发了几个卫星发行版,它们本身就具有重要意义。其中之一是 Kevin Fenzi 的 Red Hat Über Distribution (KRUD)——顺便说一句,我现在正在我自己的机器上运行它。另一个是 Mandrake。

Doc: 这些是其他人利用 Red Hat 的案例。

Eric: 是的。两者都研究了 Red Hat 发行版,并说:“我在这里看到了一个重要的增值,Red Hat 要么不感兴趣,要么无法利用。”

在 KRUD 的案例中,Red Hat 不会经常发布更新。因此,Kevin 所做的是每月按订阅方式压制 CD-ROM。新的 CD-ROM 会寄到邮件中,您将其放入驱动器,完成更新程序,该程序从 CD-ROM 中提取所有新的 RPM 并安装它们,然后您就完全是最新的了。

我认为这是一种操作系统发布的杂志模式。想要所有最新的更新吗?订阅——每年只需 36 美元。作为回报,您不必花费大量时间下载东西并担心您是否是最新的。

Doc: 谁是客户?

Eric: 如果您是一个对安全性有严格要求的站点,KRUD 特别有价值。想要确保您拥有所有最新的安全补丁吗?这就是 Kevin 为您做的事情。他是 Linux Security HOWTO 的维护者。顺便说一句,他的网址是 http://www.tummy.com/

Doc: 为什么 Red Hat 不能这样做?

Eric: 我认为是因为规模。他们必须以足够大的批量发运 CD-ROM 才能承担其他费用。如果他们试图通过采用一个月而不是六个月的发布周期来在这个新领域竞争,他们的履行和营销费用将会让他们损失惨重。

Doc: Red Hat 只在价值链上向上扩展。

Eric: 是的。Kevin 可以做到这一点,因为对他来说这是一项相对较小的工作,而且他没有承担 Red Hat 的所有开发和营销管理费用。

Doc: Mandrake 呢?

Eric: 他们的增值在于,现在大多数人都有奔腾处理器,Mandrake 可以获取所有源代码 RPM 并使用奔腾优化重新编译它们,这样您的机器运行速度可以提高 30%。同样,对于 Red Hat 来说,拥有两个发行版,一个优化过的,一个未优化的,成本太高了。

Doc: Red Hat 在这里受益吗?

Eric: 当然。Red Hat 肯定正在以这种方式扩大他们的支持市场。如果我是一个财富 500 强网站,并且我订阅了 KRUD 并且有支持需求,我会去找 Kevin 吗?不,因为我知道他只是一个坐在科罗拉多州某个房间里的家伙。所以我回去从 Red Hat 购买支持合同。

Doc: 如果您在 Mandrake 中处于相同的位置呢?

Eric: 您可能会去找 LinuxCare。我相信他们是 Mandrake 的服务合作伙伴。因此,Mandrake/LinuxCare 的组合在服务收入方面与 Red Hat 的竞争更加直接。不过,Mandrake 的人与 Red Hat 的人有良好的工作关系。实际上,Mandrake 正在充当 Red Hat 的研发部门,因为他们所做的更改,为了修复和清理东西,可以被折回未来的 Red Hat 发行版中。

Doc: 那么生态系统的观点呢?

Eric: 因为每个人都在按照开源规则而不是竞争来玩,所以有可能通过合作来赚更多的钱。单个发行版有可能分化成相互支持的发行版变体的微型生态系统。这些人都有共同的核心 DNA,这就是使生态系统发挥作用的原因。

Doc: 我认为在原始市场中存在一些类似之处。

Eric: 哦,当然,这是克里斯滕森意义上的价值网络。[克莱顿·克里斯滕森是 《创新者的困境》 的作者,这是一本关于技术市场颠覆性变革的获奖书籍——编者]

Doc: 您还有其他正在筹备中的书吗?

Eric: 是的。我正在撰写 《UNIX 编程艺术》 初稿的一半,这本书是关于如何像 UNIX 大师一样思考的。它针对的是许多年轻的 Linux 程序员,他们已经掌握了 UNIX 设计传统的一些零星知识,但并没有真正掌握整个禅宗。这不是他们的错——因为就像禅宗一样,到目前为止它只是从师父传给学生——“一种特殊的传承,在经文之外”。是时候把它写下来了。

Doc: 您还有其他重大发展吗?

Eric: 这些天我大部分编程都是用 Python 完成的。我已经不再使用 C 了。

Doc: Python 很热门。它正在席卷我们自己的人。

Eric: 在目前的经济条件下,使用需要手动内存管理的语言几乎没有意义。关于 C 的问题是,您必须自己管理缓冲区和动态存储。您没有垃圾回收解释器为您执行此操作。这是一个巨大的问题来源——经典地,C 程序中大约十分之九的运行时错误是内存管理错误造成的。

过去,当机器更昂贵而程序员时间不那么昂贵时,手动调整资源利用率并投入所有必要的调试时间来补偿高错误率是值得的。但是,除非您正在进行系统编程或真正繁重的数字运算,否则这种权衡不再有意义了——在周期和内存像现在这样便宜的情况下。

Doc: 对您来说,这是 Python 的主要优点吗?

Eric: 是几个优点之一,但在我看来,这是最重要的一点。

Doc: 但是其他语言也做同样的事情。

Eric: 是的,有很多解释型语言都进行垃圾回收,但很少有像 Python 这样设计精良的。替代方案的可扩展性不好;它们使读取和修改大量代码变得更加困难。我过去写了很多 Perl,直到它变得太痛苦了。关于 Tcl,越少说越好。

Doc: 结束语?

Eric: 只是对我们目前看到的大多数开源商业模式背后的内容的一个简短版本。“Linux 是免费的。线索不是。”

加载 Disqus 评论