3.13 什么才是好礼物
如何评判礼物价值并给予相应的尊重,在黑客文化中有着始终如一的标准。主要如下:
1.如果它不能像我所预期的那样工作,那就不是好的——不管它多么聪明和有原创性。
注意“预期”这个词,这条规则并不是要求十全十美(beta测试和试验性软件是允许有bug的),而是要求:根据项目所处阶段和开发者对该阶段的说明,用户能准确地估计风险。
这条规则使得开源软件倾向于长期停留在beta版,开发者只有在确信软件不会有很多问题时,才会发布1.0版。开源世界的1.0版意味“开发者愿意拿自己的名誉赌它好使”,而闭源世界的1.0版则意味着“如果你很谨慎,不要用这版”。
2.在心智层的拓展性工作要比在某功能域内(对现有作品)的重复性工作好。
对这条规则的简单理解是:原创性工作比功能复制要好。但实际上不完全是,如果你复制的是闭源软件的功能,并借此破解了封闭的协议或格式,使得这个领域在开源世界里也可使用,那你的工作就和原创作品一样值得赞许。
比如,开源世界里最负盛名的项目之一是Samba——它使得UNIX机器可以作为客户端或者服务器运行微软私有的SMB文件共享协议。它并没有多少创新性工作,而几乎都是在做一些繁杂的逆向工程。然而,Samba团队的成员被视作英雄,因为他们破坏了微软锁定整个用户群体的目的,并使其设立在心智层大片区域上的警戒线无效。
3.能进入主要发行版的作品比不能进入的好。在所有主要发行版中都包含的作品最令人尊敬。
主要发行版不仅包括大的Linux发行版如Red Hat、Debian、Caldera和SuSE,也包括其他一些发行版——如BSD发行版或自由软件基金源码集,由于发行者会维护自己的声誉,其质量也自然能得到保证。
4.“使用”是最真实的赞美,类别杀手比同类竞争者好。
信任别人的判断是同侪评价的基础。这很正常,因为没人有时间去仔细评判所有可能的选择,所以人们会认为:多数人使用的作品优于那些少数人使用的。
如果作品好到没人再想使用其他备选,作者将会获得巨大的威望。那些被最广泛使用的原创型类别杀手,会被纳入所有的主要发行版中,并获得最大可能的同侪尊重。成功做到这点超过一次的人,将会被人们半开玩笑、半认真地称为“大神”(demigods)。
5.相比那些只挑有趣和简单工作的人,长期致力于艰苦和乏味工作(如调试、写文档)的人更令人钦佩。
这条规则描述社区如何回报那些黑客天生不愿意做但实属必要的工作,某种程度上它和下面这条矛盾:
6.重要的功能扩展比低层次的修补好。
这条规则似乎是针对一次性工作的评价。相对于修补bug而言,给软件增加功能特性有可能得到更多回报——除非这个bug异常令人厌恶或者难以寻找,因为将这种bug找出来本身就证明了非凡的技术和才能。但当这些工作是长期行为的话,一个长期关注和排除bug(甚至是普通bug)的人,其地位要高于那些花费相近工作量在增加简单功能上的人。
一位读者指出,这些规则会很有意思地相互影响,并且不一定总能获得最大可能效用。如果问一个黑客,他是愿意因为一个全新工具还是因为扩展别人软件而为人所知,答案毫无疑问都是“新工具”,但如果问这两个选项:(a)一个隐藏在OS之下的全新工具,每天可能只会被用到几次,但一经问世便迅速成为一个类别杀手;(b)对一个现有工具的若干扩展,这些扩展既不是特别新颖也不是类别杀手,但拥有数量庞大的用户,扩展对用户可见且被用户每天使用。黑客在选择(a)之前可能会犹豫一会,因为这两种选择几乎是等量齐观的。
这位读者问我时还加上了一句:“(a)是fetchmail,(b)是你关于Emacs的若干个扩展,如vc.el和gud.el”,他说得没错,我更喜欢被称为“fetchmail的作者”而不是“很多Emacs模式的作者”,尽管历经时间变迁,后者可能会有更多的使用总量。
很简单,拥有全新“品牌标识”的工作比为已有品牌增添功能更能吸引注意力。这些规则以及它们所揭示的黑客文化计分板系统的内涵,会引出供进一步研究的很好话题。