曾进群,杨建梅,陈 泉,李欣荣
(华南理工大学工商管理学院,广东 广州 510641)
与以往的知识生产理论以企业组织作为研究对象不同,开源社区大众生产是一种全新的生产模式,在这种模式中,大量的人彼此协作(通常是通过网络手段)完成有价值的项目,且它具有两个非常显著的特征,一是在没有物质激励的条件下,大量程序设计人员广泛参与;二是在没有层级控制的条件下,参与者自发创造出质量卓越、高度复杂的项目。从这些特征来看,开源社区是一个典型的由人类活动构成的复杂系统[1],这就决定其不能采取简单还原论的研究方法,而必须在了解个体行为及其相互作用机制的基础上,从整体的视角,利用系统论的研究方法进行探讨。近年来备受关注的复杂系统研究表明,大量复杂系统个体关系需要用网络结构来描述,这些网络结构存在着许多特殊的性质,如小世界、幂率度分布、不同的匹配关系及社团结构等,且这些相互作用结构对系统宏观行为具有重要影响。2009年,《Science》杂志以复杂系统与网络(complex systems and networks)为主题,发表一集专刊[2],其中,Barabasi教授在文章中指出,由于底层结构对于系统行为有着重大的影响,除非探讨网络结构,否则没有办法去理解复杂系统。因此,理解复杂系统行为应该从理解系统相互作用的网络结构开始,对开源社区大众生产而言,较好表征合作者网络结构是理解开源社区大众生产行为的重要基础。
目前已经有不少的刻画复杂网络的拓扑结构各个侧面特征的指标如结点度、度分布、平均距离、聚类系数、邻结点平均度、同配系数等等。很多实际网络的拓扑结构特征得到了研究。很多网络,比如Internet网络、万维网、生物代谢网、食物网等的度分布呈现幂律分布而非随机网络的Poisson分布;一些实际网络的平均距离比较小,聚类系数比较大;技术网络和生物网络更趋向于同配,而社会网络趋向于异配。近年来,有些学者也将复杂网络理论引入开源社区大众生产合作网络结构研究,文献[3]等利用复杂网络方法和自组织临界理论对开源社区的自组织演化问题进行了研究[3],从这些研究来看,复杂网络工具为开源社区大众生产研究提供了新的视角,对我们理解开源社区大众生产这种群体行为起到很大的帮助,但这些研究都仅仅是对建立了大众生产合作网络的复杂网络模型,而没有建立其相应的零模型。
所有这些从实际网络得到的拓扑特征哪些是随机的,哪些是受到某种约束机制形成的呢?现实网络的拓扑结构是真的如此独特还是它只是一个偶然性的样本?其实这样的问题在科学研究中普遍存在,我们观察到的现象是否真的受到某种变量影响、受到某种机制影响还是它只是一种偶然性的集结。零模型的作用就在于此。零模型是在比较对象难以直接获取的情况下,根据统计学理论利用数值算法或数理手段构建的,用于参照推断的数据分布。复杂网络零模型对于揭示并正确判断其拓扑结构有着极其重要的作用,文献[4][5]用随机化实际网络构造零模型的方法研究了基因调节网、捕食网、神经网、电路网和万维网,发现了统计上显著(P=0.01)的多个 3 结点和 4 结点模体[4][5];[6]应用零模型研究了生物细胞内部的分子网络,确认了其异配性质。并解释了细胞内部分子网络稳健而不脆弱的原因正是这种异配性的存在[6];[7][8]基于零模型研究社团结构的划分,找出了实际网络中具有统计意义的社团结构[7][8]。
综上,零模型已经成为探索复杂网络结构特征的重要手段,本文结合零模型方法与复杂网络模型,以Google Code开源社区为例,对开源社区大众生产合作网络进行研究,文章主要分为以下几部分:首先介绍开源社区大众生产合作网络的构建,其次介绍零模型的构建方法,然后基于零模型确定大众生产合作网络结构的特征参数并挖掘其结构与行为的关系,最后给出结论。
Google Code开源社区于2005年的3月第一次公开亮相,当时仅有8个API(应用层)的连接,经过几年的发展,谷歌开源已经成为一个开放的项目托管平台,能够提供版本控制、问题跟踪、下载托管等工具。目前该开源社区提供的API接口数字已经超过了60个。另外,还有超过6万个开源项目在该社区扎根,每天有超过17000个代码确认。谷歌自己也有超过800个项目列于其中,包括 Android,Chrome,Chrome OS和 GWT这四个超过100万行代码的巨型项目。
从Googel Code开源社区抽取的全部58762个有效项目作为研究对象[9]。
网络模型构建的原则如下。顶点:每一个项目开发者(以ID表示)为一个顶点。边:如果两个项目开发者参与了同一个项目,则在这两个开发者之间连一条边。这样得到的大众生产合作网络共有67732个顶点,253640条边。
在所有顶点中共有31205个节点的度值为0,也就是说这些点为孤立点。除掉这些孤立点,共有36527个顶点,其度分布如图1所示。幂指数在[2,3],这说明该网络中存在较少的HUB节点和大量度值很小的节点,其同时具有鲁棒性和脆弱性。
图1 累计度分布曲线
文献[10]为了模拟实际网络,从度相关的角度系统整理了复杂网络拓扑特性,引入了dK级数(dK-series)的概念。d=0、1、2、3时分别表示节点数和边数相同、度序列相同、联合度分布相同(同配系数相同)和三结点连接方式相同(聚类系数相同)的随机图。提出了生成dK阶随机图分布的数值算法,为生成高阶随机图提供了选择。
在实际应用中,要构造出具有d阶所有随机化网络几乎是不可能的。一种解决办法是构造出具有d阶的典型网络,它是完全随机地从所有具有d阶的随机化网络中选取的,一种常用的办法是针对给定网络G采用随机重连算法来构造出与网络G具有相同d阶特性的随机网络集。
对于0阶零模型,采用E-R随机图作为参照系,即保证随机网络与实际网络的节点数、边数及平均度不变,生成随机网络集。
对于1阶零模型(即保持网络的1阶特性,网络节点的度序列不变),采用随机重连算法进行构造,如图2所示,随机选定一对边,分别连着k1和k2,k3和k4,若k1和k4,k2和k3无连边,则交换连接;如果有连边,则重新随机挑选一对边,这样四个节点的度均保持不变,故网络的节点度分布也保持不变。
图2 1阶零模型的随机重连过程
有了用数值方法生成的随机图总体样本,可推断实际网络的拓扑特征。
一般地,假设我们关心实际网络的j拓扑结构指标为N(j),相应的零模型总体该指标的平均数为
计算出零模型j指标的标准差σr(j),构造差异性统计量Z分数:
假设Nr(j)服从正态分布,那么Zj服从student分布,可以得到差异性统计量出现的概率p,如果p小于设定的显著性水平比如0.01,我们可以在统计上推断实际网络j指标的性质。
另外,有时也用另外一种方式进行统计分析,即统计零模型总体中每一个随机网络的j指标值Nr,i(j)大于N(j)的次数m,假设生成的网络数为n,再根据两者的比值与选定的显著性水平进行比较来推断实际网络j指标的性质。
保持网络节点数、边数及平均度不变,按照零模型的构建算法本文共构建了1000个随机化网络集,按照上文的方法计算这个随机化网络集的集聚系数和平均最短路径长度的平均值,各参数计算结果如表1所示。
表1 静态参数对比表
从计算结果及式(1)来看,实际网络的集聚系数比生成的随机化网络的平均集聚系数大了约30000倍,拒绝原假设,可以认为实际网络的集聚系数指标不是来自随机网络,而平均最短路径大小差不多,可以接受原假设,也就是说平均最短路径并不是实际网络特有性质,在随机网络中平均最短路径也可以很小。此外,实际网络度分布形式为典型的幂率分布,拒绝原假设,由此0阶零模型从统计意义上证明了开源社区大众生产合作网络具有小世界与无标度特性。
Uzzi和Spiro[11]在其研究中定义了小世界商数来描述小世界性的显著程度,小世界商数Q=CC ratio/PL ratio(实际网络的PL/随机网络的PL,记为PL ratio,实际网络的CC/随机网络的CC,记为CC ratio,其中PL为最短路径长度、CC为平均集聚系数),并指出小世界商数越大,小世界性越显著,且小世界性对绩效有着显著性的影响,本文的开源社区大众生产合作网络小世界性商数为30326,说明该合作网络小世界性非常显著。在小世界网络中,由于较高的聚簇程度,会促成节点间相互的信任和更紧密的合作,从而提高信息交流的效率和准确度,又由于较小的平均路径长度,使得节点可以方便的从远距离的节点处获取新鲜的,非冗余的信息,从而激发出灵感。具有这种结构的社会合作网络被广泛认为是可以提高信息交流传递效率和质量,能更好的激发节点的创造力,进一步说明开源社区大众生产能以惊人的速度创造出质量卓越、高度复杂的项目可能与该合作网络显著的小世界性有着极大关系。
网络的凝聚性是高一阶的性质,它与度分布以及网络邻节点的连接方式(度相关性)紧密相关。文献[12]将度高的节点倾向与度高的节点相互连接或度低的节点倾向与度低的节点相互连接的现象称为同配,度高的节点倾向与度低的相互连接称为异配,并定义了相关函数。文献[6]重新定义了基于零模型的两个参数:
很少学者对大众生产合作网络的配对性进行研究,保持度序列不变,按照零模型的构建算法本文共构建了1000个随机化网络集,对大众生产合作网络的配对性进行研究,从图3、4可以看出,比值较大的区域主要集中在对角线附近,也就是说大众生产合作网络是典型的同配网络,这也说明大众生产者合作次数多的倾向于与合作次数多的合作。
图3 R(K1,K2)分布图
图4 Z(K1,K2)分布图
网络模体是满足下列条件的子图[5]:①该子图在实际网络中出现的次数Nreal不小于某个下限U,如U=4。②该子图在实际网络中出现的次数Nreal明显高于它在随机网络中出现的次数Nrand,一般要求(Nreal-Nrand)>0.1Nrand。③统计该子图在随机网络中出现的次数与它在实际网络中出现次数,按式(2)、(3)进行统计分析。当前研究表明,网络模体有助于人们从局部结构上理解复杂网络生长和演化机制。
本文按照零模型的构建算法共构建了1000个随机化网络集,依据上文的模体的定义,对开源社区大众生产合作网络模体进行计算,计算结果如表2所示。
表2 模体探测结果
从计算结果来看,开源社区大众生产合作网络模体为有3、7、8、9号模体,那么为什么这些子图在实际网络中出现的频率比随机化网络高得多呢?本文认为可以从网络同步性及开源社区大规模协作现象得到部分解释。
同步是一种自然现象。它通常指至少两个振动系统相位间的协调一致现象。关于同步现象最早的研究可以追溯到1673年惠更斯关于耦合单摆的同步现象的观察。实际上,若干个耦合单元之间通过相互作用达到同步的现象在许多领域中屡见不鲜,在社会学领域中,同步现象也被用作解释形成社会集体行为的机理。文献[13]对模体同步性进行研究,结果如表3所示,比较表2、3发现,实际网络中的探测出显著性模体是所有三节点、四节点模体中同步能力最强的四个,开源社区合作涌现可能与这些模体有着重要的联系。
表3 不同模体结构的耦合强度值(文献[13])
网络中的社团结构是指在社团内部,节点之间的联系非常紧密,而社团之间的联系相对而言比较稀疏。寻找社团结构并对其进行分析是了解现实生活中各种网络组织结构的一种很重要的方法,并在生物学、计算机科学以及社会学等领域都有着广泛的应用。如社会网络中的社团结构使得人们能够清晰地了解他们区别于其他社团的一些特质或者信仰等;在生物分子反应网络中,聚合到一起形成功能性模块的节点往往担当特定的角色或具有特定的功能[14]。但是如果我们找到的社团结构在同等条件下随机网中也存在,那么这些社团就应该归属伪社团,而不是我们统计意义上的社团结构,这些社团结构对我们研究复杂网络的属性没有实际意义,本文采用零模型方法[7]对开源社区合作网络的社团结构进行计算,从计算结果来看,整个网络存在层次性,即存在“社团中的社团”,第一个层次可划分社团4922个,但是与随机网比较仅仅只有363个具有显著性水平,也就是说大部分社团在随机网中也存在,第二层次共有子社团5571个,且每个社团都具有显著性水平,平均每个社团含6.4个节点,独立节点(未分入社团)占0.0426,也就是说Googel Code社区大众生产合作网络中合作者社团一般为6-7人。
生产者之间关系是影响生产者行为的主要的因素,从大众生产合作网络中可以研究出生产者的行为变化规律和网络的演化规律等。生产者之间的良性相互协作推动了产品的创建、优化与完善,对开源社区来说生产者之间的合作关系直接决定了项目的成败。
本文以Googel Code社区所有项目为研究对象,依据项目合作关系建立了开源社区大众生产合作网络,并建立了相应的0阶、1阶零模型。利用0阶零模型从统计意义上证明了大众生产合作网络具有小世界、无标度特性。利用1阶零模型证明了该网络的同配性特性,即度值大合作者的倾向于与度值大的连接,这可能跟软件行业的技术有关,不同背景生产者互相配合更能合理的完成任务。
此外,本文还利用1阶零模型探测大众生产合作网络的三节点和四节点模体及社团结构,从探测的模体来看,这些模体都是同步能力较强的子图,开源社区大众生产合作涌现性跟这些模体有着紧密的联系。从社团结构来看,合作者网络存在“社团中社团”现象,且具有显著水平的社团大小一般为6-7人,下一步可以进一步对这些模体与开源社区大规模协作的关系及社团所体现的意义进行进一步的研究。
[1]杨建梅.人类活动系统的复杂性与管理[J].华南理工大学学报社科版,2011,13(4):1.
[2]JASNY B R,ZAH N L M,MARSH ALL E.Special issue on complex systems and networks[J].Science,2009,325(5939):405-432.
[3]潘向东,杨建梅.开源社区稳定性研究[D].华南理工大学工商管理学院,2009.7.
[4]R.Milo et al.,Superfamilies of evolved and designed networks,[J].Science,2004,303:1538-1542.
[5]R.Milo et al.,Network motifs:simple building blocks of complex networks,[J].Science,2002,298:824-827.
[6]S.Maslov and K.Sneppen,Detection of topological patterns in complex networks:correlation profile of the internet,[J].Physica A,2004,333:529-540.
[7]A.Lancichinetti,F.Radicchi,and J.J Ramasco,Finding statistically significant communities in networks[J].PloS one,2011,6:e18961.
[8]A.Lancichinetti,F.Radicchi,and J.J Ramasco,Statistical significance of communities in networks[J].Physical Review E,2010,81(4):046110.
[9]李欣荣,杨建梅.百度百科与Google开源社区生产合作网络比较研究[D].华南理工大学工商管理学院,2011.7.
[10]Mahadevan P,Krioukov D,Fall K,et al.Systematic topology analysis and generation using degree correlations[J].ACM SIGCOMM Computer Communication Review,2006,36(4):135-146.
[11]Brian Uzzi,Jarrett Spiro,Collaboration and Creativity:The Small World Problem[J],American Journal of Sociology,2005,02,447~504.
[12]M.E.J.Newman,Assortative mixing in networks,[J].Physical Review Letters,2002,89(20):208701.
[13]Moreno Y,Vazquez Prada M,Pacheco A F.Fitness for synchronization of network motif.Physical A,2004,343:279 ~287.
[14]汪小帆、李翔、陈关荣编著,复杂网络理论及其应用[M],清华大学出版社,2006.
[15]狄增如,系统科学视角下的复杂网络研究[J],上海理工大学学报,2011,02:111~116.
[16]廖开际,赵兴庐,杨建梅,基于耗散结构理论的知识大众生产系统演化机制研究[J],科学学与科学技术管理,2009,07:106~110.
[17]Rossi M.A.Decoding the Free/Open Source Software Puzzle:A Survey of Theoretical and Empirical Contributions[J].The Economics of Open Source Software Development,2006:15-55.
[18]Siobhán O’Mahony.Guarding the commons:how community managed software projects protect their work[J].Research Policy,2003(32):1179-1198.
[19]Lerner J.& Tirole J.Some Simple Economics of Open Source[J].Journal of Industrial Economy,2002,50(2):1-55.
[20]Riedinger J.M.,Lizard S.,Coudert B.,& Barillot I.Intérêt clinique du calcul des pentes de variation du CA 125 pour la surveillance biologique des tumeurs épithéliales ovariennes[J].Immuno-analyses & Biologie Spécialisée,1999,14(4):244-250.
[21]Waring T.,& Maddocks P.Open Source Software implementation in the UK public sector:Evidence from the field and implications for the future[J].International Journal of Information Management,2005,25(5):411-428.
[22]Jing Wang,The Role of Social Networks in the Success of Open-source Software Systems:A Theoretical Framework and an Empirical Investigation[D],Kent State University,2007.5.