深度:长尾、博弈理论与开源的关系

[摘要]博弈论和长尾理论,这两个分别在开源软件诞生之前、之后产生的理论,如今看来却可以看作是能够解释开源现象的重要理论支撑。其中,长尾理论可以解释为什么开源的社区开发模式能够产生巨大的能量并且高效,而博弈论则能够解释开源软件规则的必要性,以及社区开发为什么能够持续下去的原因所在。

  博弈论和长尾理论,这两个分别在开源软件诞生之前、之后产生的理论,如今看来却可以看作是能够解释开源现象的重要理论支撑。

  其中,长尾理论可以解释为什么开源的社区开发模式能够产生巨大的能量并且高效,而博弈论则能够解释开源软件规则的必要性,以及社区开发为什么能够持续下去的原因所在。

  2005年,Chris Anderson的畅销书《长尾理论》对传统的“20/80定律”产生了冲击。“20/80定律”源于1897年意大利经济学家帕累托归纳出“20%的人口享有80%的财富”的统计结论,它表现了一种不平衡关系,即少数主流的人(或事物)可以造成主要的、重大的影响。以至于在市场营销中,为了提高效率和利润,商人们把主要精力放在“20”的顾客或者畅销商品上,而忽视了“80”的一般大众消费者和大量非畅销商品。

  长尾理论则指出,被忽视的“80”聚集在一起的话也能产生巨大的能量,就像一片很广阔的分散的区域,如果可以把握这一块地盘,收获将不一定会比集中火热的区域成就少。也就是说,只要存储和流通的渠道足够大,需求不旺或销量不佳的产品所共同占据的市场份额可以和那些少数热销产品所占据的市场份额相匹敌甚至更大。众多小市场汇聚成可与主流大市场相匹敌的市场能量。

  虽然长尾理论主要揭示了一种经济法则,但在软件开发上也同样适用。一项对12个封闭开发的商业软件和12个基于社区开发的开源软件的比较研究证明,从开发者对于产品贡献的比例角度来看,封闭开发类似于20/80理论,而社区开发则类似于长尾理论。

  在封闭开发环境中,20%的开发者对于产品的贡献达到了80%,但剩下的80%开发者却效率低下。而在社区开发环境下,由于有成千上百的志愿开发者;工作不是分派的,而是由志愿者自己选择的;没有人进行系统架构级别的设计,没有项目规划,没有日程表,也没有人设定交付日期;任何细小的缺陷或者错误都会马上得到发现和修改,因此开发效率比在封闭开发环境下要高许多。

  正是由于开源社区上众多开发者的能量聚集,才有了今天我们看到的成就:开源软件的规模越来越大,在传统的商业软件所涉及的领域,都能找到可以应用的开源软件,而且这个趋势还在继续。

  上个世纪中期发展而来的博弈论本是研究理性的个体在相互交往中战略选择问题的理论,它最有名的故事是“囚徒困境”。在这个故事中,最后,两个囚徒摒弃了抵赖、背叛等不合作行为,都选择了合作,从而保证了双方获益。

  通俗说来,博弈论告诉我们的道理是:只有合作才能实现双赢、共赢。开源软件的社区开发正是基于这种信念才得以持续不断地进行下去的。在社区中,某个开发项目就好比一个游戏,参与开发的志愿者们都是游戏者,而要使游戏能够玩下去,保证每个游戏者都从中获益,就需要设立游戏规则,每个人都要遵守它。GPL等开源许可协议就是这些游戏规则。

  比如,GPL要求,对于每个项目软件,如果要作为商品发行的话,要注明修改之前的源代码来自哪里,出自谁人之手,更重要的是,修改后的源代码应该返回和贡献给社区。

  显然,其目的在于使革新能够继续下去,也就是使合作的关系保持下去。试想,如果大家都只是从开源社区上下载某个项目的代码而不提出问题,不对Bug做出修改,也就是不贡献的话,该项目也就难以继续发展下去,多方合作开发的关系也难以为继。

  这也印证了博弈论的研究者后来的发现,即合作的必要条件是:第一、关系要持续,一次性的或有限次的博弈中,对策者是没有合作动机的;第二、对对方的行为要做出回报,一个永远合作的对策者是不会有人跟他合作的。

  由此可见,自由、开放并不是开源精神的惟一表述,开源社区的开发机制和许可规则与长尾理论和博弈论这两个理论在许多思想上不谋而合,也证实了开源软件具有充分的理论根基。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。