Linux 烹饪...

作者:Matt Welsh
游击 UNIX 开发

我们生活在一个充满等级制度、组织和结构的社会中。几乎我们生活的方方面面都以某种方式被构建,无论是社会、政治、宗教——你能想到的都有。规则是硬性且快速的。一切都有其适当的位置。

这在计算机社区中尤其如此,毫无疑问,这是因为计算机本身就是高度结构化、确定性的野兽。大型软件开发公司雇佣了大量的程序员,形成等级森严的体系,以至于最底层的员工常常迷失在其中。每个职位都有一个或多个晦涩的头衔,从“经理”到“副经理”再到“苦工”,通常还包括手头特定项目的秘密代号,以阻止竞争公司的抄袭倾向。

这种组织也远远超出了物理和社会世界——电子文件、网络协议,甚至 USENET 新闻组都按等级结构排列。等级制度可以是真实的、虚拟的或纯粹是想象的。它们无处不在。我相信,这一切都是为了教给我们一个非常好的教训:在现实世界中,没有强烈的团队合作精神和严格的组织,什么都做不成!

好吧,几乎什么都做不成。Linux 开发社区似乎是一个结构松散、形态不定的大杂烩。该组织没有单一的领导者或核心。没有任何一个实体可以声称对 Linux 负责。Linux 系统的许多部分,从单个内核源文件到整个发行版,都由不同的个人拥有版权。事实上,它看起来像一团糟。或者 Linux 开发集团真的像看起来那么无组织吗?

Linux 开发社区像晶体一样,围绕着一个孤独的内核(绝非双关语)发展起来。Linus Torvalds 最初独自负责内核开发,那时内核本身被认为是 Linux 的全部。然而,在最近的时期,Linus 声称他编写的代码不到当前内核代码的 50%。因此,虽然 Linus 可能是这个快速增长的变形虫的“父亲”,但很少有人会给他“领导者”的头衔——当然,这完全是出于尊重。

但那是很久以前的事了。我认为,更具启发性的是看看 Linux 社区现在看起来是如何运作的。该社区本质上似乎是一个由个人组成的庞大网络,所有人都朝着一个共同的目标(或多个目标,视情况而定)努力。事实上,Linux 开发很像游击战,其中一个看似无组织的政治派系中的每个成员或多或少都对总体目标有相同的想法,但每个人都可能有自己关于如何实现目标的想法。

在这个庞大的蜂巢中,很难辨别开发者之间是否存在任何直接或有意的等级制度,但似乎确实存在某种形而上学的等级制度——一种“种姓”制度,它不是外部强加的,而是源于社区内部。这种等级制度更像是一种方便的惯例,而不是明确的规则。游击队通过类似的由血缘关系、资历和偶尔的仇杀组成的复杂系统联系在一起。但这一切背后的驱动力是对世界(或操作系统)未来的共同愿景。基本的人性填补了其余部分。

这个等级制度是什么?Linux 社区的大多数成员都观察到“开发者”和“非开发者”之间存在明显的划分。谁是开发者,谁不是开发者,以及是什么赋予某人称自己为开发者的权利,这些都不总是很清楚。但似乎很明显,某种阶梯确实存在。找到梯级完全是另一回事。

在最低层,似乎是无数的 Linux 用户。他们的范围从非常聪明到完全一窍不通,但总的来说,“用户”对 Linux 的增长没有贡献,除了偶尔的错误报告或向同类提供帮助。当然,这种说法纯粹是虚假的——事实上,Linux 用户仅仅通过使用它就为 Linux 的扩展做出了贡献。系统越流行和普及,它就必须越灵活。然而,这是传播的间接影响,虽然个人用户可能无法直接塑造系统,但用户社区作为一个整体,仅仅通过其存在就为 Linux 贡献了一个重要的方面。(我又开始哲学起来了吗?别说我们没警告你。)

在这个准分类学的最高层是“开发者”,他们实际上编程和支持系统。他们对 Linux 本身的进步产生了最明显的直接影响,但正如上面描述的用户社区的情况一样,各种不同的开发目标的广泛混乱导致了另一种形式的“元开发”。许多独立开发工作的看似无法控制的拼凑,所有这些都被简化和压缩到一个单一的软件包中,这赋予了 Linux 一种精神,而且——我不怕使用这个词——魅力,这在其他操作系统中是找不到的。

商业 UNIX 系统让人感觉像是“委员会开发的”,而 Linux 实际上类似于由疯人院开发的软件。UNIX 内核开发充斥着黑魔法、混淆、过时以及如此纯粹的复杂性,以至于令人怀疑,在大多数情况下从未见过面的程序员怎么可能完成任何事情。更不用说语言障碍和电子邮件固有的局限性所带来的明显问题。

然而,在这个疯狂的、混合了相互冲突的编程模型和惯例的大杂烩的核心(绝非双关语)中,一颗珍珠已经出现。Linux 不仅在早期开发的惊涛骇浪中幸存下来,而且还像滚雪球一样发展成为一项由各行各业的人们共同参与的庞大协作开发项目。每个人都有机会做出贡献,无论多么微不足道。Linux 是由用户开发并为用户服务的,而不是为商业 UNIX 供应商试图迎合的某个任意的第三方目标市场开发的。如果 Linux 散发出黑客气息,那是因为它的用户(以及因此它的开发者)是黑客。当然,非黑客也很渴望加入潮流,而最先加入潮流的人有机会引导潮流方向,供他人效仿。

因此,即使 Linus 在顶端,J. Random User 在底端,将 Linux 社区归类为某种阶梯或等级似乎没有多大意义。社区的每个成员都有自己的个人定位和贡献潜力。唯一的区别是每个人付出的努力程度。(对于某些人来说,破解 Linux 需要付出很大的努力,但那是另一个故事了。)年龄、种族、性别和星球起源完全无关紧要。重要的是态度——每个人都有自己的态度。

这一切归结为:你可以用任何你喜欢的方式看待 Linux 社区。有些人喜欢将其视为一个阶梯,通过根据知识、才能、贡献或其他此类无形的品质对成员进行排名,这些品质的例外情况多于规则。另一些人则设想一个扁平的等级制度,在这个制度中,在一个乌托邦式的技术官僚社会中,人人平等。另一些人,像我一样,则将它想象成一个疯狂失控的巨型鸡尾酒会。你打算相信谁?

然而,有一件事是肯定的。无论 Linux 开发游击队看起来多么无组织,他们都在实现他们的编程和政治目标。Linux 正在商业 UNIX 市场干燥、易燃的森林中像野火一样蔓延,决心摧毁其路径上的一切。§

我们来了。我们看到了。我们破解了。

Matt Welsh 是康奈尔大学的系统程序员、学生和极客 Linux 爱好者。他负责协调 Linux 文档项目,该项目旨在为 Linux 制作一套权威的手册。

加载 Disqus 评论