最近草草的读了一遍《大教堂与集市》,坦白的说并没有完全理解作者想表达的意思,对其中的一些论述性的内容也没有太大的兴趣,但里面有些内容还是很让我有所感触。
所谓大教堂,按我对书中的理解,是值得传统模式下(相对开源软件)的开发模式:最终产品是被计划好的;而所谓集市则是指以Linux为代表的开源软件的开发模式:最终产品是参与者共同协作的结果,它可能是按照发起人的意愿往一个方向走,但最终的结果绝对不是发起人能预见或计划到的。
- 对大教堂和集市模式的看法
很难说两种模式到底谁好谁坏(虽然作者显然是更认同集市模式的,显然任何人都不可能做到完全没有偏好的公允的)。对商业软件,我各人还是更倾向于教堂模式,毕竟产品的定位和功能如果没有一个明确的定位和计划(至少在一定时期之内,比如三年、五年),它是很难最终为客户所接受和使用。但两种模式并不是完全对立;它们不应该是非此即彼的关系。现在的软件,其复杂度相比十年、二十年以前已经是N个数量级的提升,我并不认为有任何公司和各人能真正做到对最终产品能像建造一个大教堂那样做好完全准确的计划并保证最终的产品能完全符合最初的设计。比较现实的做法可能是采用大教堂模式的思路规划产品,采用集市模式的方式来实现、修正产品。
商业软件中现在已经不可避免的使用一些开源软件,对这类软件的开发,集市模式虽然非常有效(考虑到优秀开源软件高质量的参与者和极大规模的用户群体),但如果所有者能抛弃对两种模式完全对立的观点,适当的借助教堂模式来保证开软软件发展(引入新功能)和发布,则对自己和用户来说都会是一个好事。 - 关于集市模式的前景
作者对集市模式的前景是非常看好的,书中也对集市模式的特征和关键工具做了很充分的讨论和总结,对进一步推进集市模式的普及和发展是相当有益的。但集市模式是否只能在开源软件中使用呢?或者开源软件是采用集市模式的必要条件么?显然集市模式需要高质量的参与者和规模性的使用群体才能发挥极大的作用,但开源是一个必须选择吗?作者很推崇黑客文化在集市模式中发挥的作用,而黑客(hacker)文化的发展是和开源紧密相连的(书中很严肃的区分了hacker和cracker),但这能说明开源是其必要条件吗?在我个人看来,高质量的参与者和一定规模的使用群体是必不可少的,但开源与否或许对集市模式的使用并不是必须的吧。 - 礼物文化
书中一再提及礼物文化并指出这是黑客文化中得很重要的组成部分。这点很让我有所感触。礼物文化强调的是贡献者愿意无私的分享,追求精神层面的满足;或许现在看来还过于乌托邦了(除了在真正的黑客圈中?至少我并不算是黑客也没有觉得自己又能力成为一名黑客),但我想这或许正是现在尝试颠覆一切的大数据时代想达到的最终结果之一?一切都应该是为了方便别人、方便大众;最终的结果一定要是能让别人接受的礼物。 - 效率与资源的稀缺性
书中提到集市模式的效率是一个很有意思的点。集市模式的效率除了体现在高质量参与者的能力之外,更重要的是体现在大规模用户(测试)群体的反馈之上。从传统的思维来看这是一个悖论:同一个bug或需求可能有成千上万的人为之付出了重复劳动,这是一个严重的浪费。但集市模式却把着作为一种高效的方法加以利用。这点应该是对资源稀缺性的一种颠覆性认识吧。在传统模式下认为是稀缺的资源(人力、计算力甚至电力等)在集市模式中已经不再是稀缺资源了,与此相反,集市模式会把这些资源认为是无限的可以免费使用的资源(所谓后稀缺时代),从而可以通过极高的并发的方式推出新的功能和稳定的版本,并最终让所有用户都受益。 - 态度和能力
书中提到说“如果你有正确的态度,有趣的事自然会找上你”,书中也说了态度并不能代表参与者的能力。这真是两个有趣的概念。要成为黑客到底是应该先有态度呢还是先有能力呢?或者到了某个阶段,自然而然二者都具备了呢?显然集市模式和教堂模式都希望参与者能同时具有二者!
集市模式确实让我有耳目一新的感觉;不妨尝试把它作为对以前习惯了教堂模式的一种补充。要真正要理解它并不容易,但至少应该去尝试使用其中的一些理念和工具。