在线协作创新网络的结构演化特性研究——以Linux内核开发为例

  • 杜佩佩 1 ,
  • 夏昊翔 1 ,
  • 潘继财 , *, 2
展开
  • 1大连理工大学管理科学与工程学院 大连 116024
  • 2中国科学技术信息研究所 北京 100038
*E-mail:

Copy editor: 刘远颖

收稿日期: 2015-01-15

  网络出版日期: 2025-04-28

基金资助

国家科技支撑计划项目“技术创新服务平台关键技术研究与应用示范”(2011BAH30B01)

国家自然科学基金项目“支持社会化创新的在线社区知识动力学研究”(71371040)

Research on the Structural Evolution Characteristics of Online Collaborative Innovation Networks: A Case Study of Linux Kernel Development‌

  • Du Peipei 1 ,
  • Xia Haoxiang 1 ,
  • Pan Jicai , *, 2
Expand

Received date: 2015-01-15

  Online published: 2025-04-28

摘要

以Linux内核开源软件项目开发为例,采用数据分析方法,研究基于互联网的协作创新方式中的工作机制和协作规律。通过1996年3月—2013年6月期间Linux内核开发这一开源软件项目之开发者交流邮件列表中全部数据的提取,构造Linux内核开发者协作网络,并分析这一网络的结构和演化特征。分析结果表明,所研究的网络呈现一个中央-边缘结构。其中的中央网络具有明显的层次结构,高层结点主要由项目领导人和子系统维护员组成,而低层结点则主要由普通开发人员组成。进而,中央以高层结点为中心、围绕专门的讨论领域,逐步演化生产高度社区化的小世界网络。其中基层开发人员的主题高度专门化,跨社区的交流主要通过高层结点完成。社会网络分析的结果显示Linux内核开发项目形成既高度组织化又具有很强灵活性的结构。这种结构的形成对于提高开发效率和质量具有显著影响,对Linux内核开发协作网络的分析对其他开放式创新项目的组织管理具有启示意义。

本文引用格式

杜佩佩 , 夏昊翔 , 潘继财 . 在线协作创新网络的结构演化特性研究——以Linux内核开发为例[J]. 知识管理论坛, 2015 , 2015(2) : 7 -13 . DOI: 10.13266/j.issn.2095-5472.2015.02.002

1 引言

近年来,“开放式创新”[1]已成为广受关注的研究课题。特别是基于互联网的协作创新已成为开放式创新的一类重要实现手段,互联网环境下的众包(crowdsouring)[2]、维基编辑(Wiki-editing)[3]以及众多开源软件开发[4]等的成功都显示了互联网环境下协作创新的巨大潜力。上述这些协作创新形式的共性特征是:创新由自主参与的群体以自组织的方式开展。尽管在过去10余年中,人们对这些协作创新方式开展了很多研究,但对它们的深层内在工作机制和自组织协作规律的认识还有进一步深化的空间。对这些协作创新方式的工作机制和协作规律的研究一方面有助于更好地组织这些形式下的协作创新,另一方面对其他类型的协作创新和开放式创新也有良好的启示意义。
在上述各类基于互联网的协作创新形式中,开源软件开发是其中协作结构较为复杂的类型。特别是对于大型的开源软件项目,需要处理诸如技术方案协商和具体技术问题探讨、软件模块之间的配合、水平不一的开发者提交的模块的选择、开发者开发方向的选择等众多问题。不同于商业化软件开发的集中式控制模式,在开源软件项目中上述问题通常是通过开发者之间的自发交流和协商而得以协调解决的。开源软件开发一般使用新闻组(newsgroup)和/或邮件列表(mailing-list)进行开发者之间的交流和协作。以在新闻组和邮件列表中开发者之间的交流关系为基础,可以构造开发者协作关系网络。对开发者协作关系网络的分析有助于深入理解开源软件开发的内在工作机制和规律。尽管过去10余年来学界对开源软件开发进行了很多研究[4-7],但人们对其协作网络的分析还有待于进一步深化。
基于上述思考,本文以一个著名的开源软件项目——Linux内核为实例分析其开发者协作网络的结构及其演化,从中探究开源软件开发背后的在线协作创新的内在机制。对此,本文提取了Linux内核项目的邮件列表档案数据(https://lkml.org/lkml),并根据这一档案数据构造Linux开发者月度协作创新网络。根据对1996年3月-2013年6月期间各个月度协作创新网络的分析,笔者发现,这一网络逐步形成一个既包含显著层次性、又呈现高度社区化的网络。这种结构的形成对于Linux的内在开发机制产生显著影响。

2 Linux协作网络及其中央-边缘结构

Linux内核,即Linux操作系统的最核心部分,是迄今最为有名也最为成功的采用开源方式开发的大型软件系统之一。本文以这一项目为案例研究开源软件开发中的群体协作模式。对此,笔者从Linux内核项目的官方邮件列表档案( https://lkml.org/lkml)中提取了1996年3月-2013年6月期间208个月的全部邮件交流数据。利用这一档案,按月提取邮件交流数据,把数据中出现的开发者作为网络的结点,而把开发者之间在邮件列表中同一交流主题(thread)中的共现关系作为网络的边,据此构造月度开发者交流网络。如此形成的月度交流网络是一个加权无向网络,其中权重值为结点的共现次数。通过对这一网络的分析可以看到,在多数月份这样生成的网络极为稠密,从中难以获得有效的开发者之间的交流结构。因此,作者在上述开发者交流网络中移除权重为1的边,即如果两个开发者只在一个邮件讨论主题中共现,则认为这两个开发者在本月的交流是偶然交流。笔者将这样由权重大于等于2的边形成网络定义为Linux开发者月度稳定交流网络。本文基于这一稳定交流网络来分析Linux内核开发的协作创新结构。由于Linux内核的协作创新活动基本是通过邮件列表的交流协商进行的,这一交流网络也可理解为Linux内核开发项目的基础协作创新网络。
经过上述处理,所研究的网络具有清晰的中央-边缘结构,即各个月度的协作网络由一个大规模的连通子图和一批以孤立结点或小群体形式存在的偶发参与者组成。图1显示了3个典型月份的网络结构图,分别是1996年3月(官方邮件列表当中拥有完整通信数据的第一个月)、2004年10月(所考察的208个月份中的中间月份)以及2013年6月(所考察的月份中的最后月份)。
图1 3个典型月份的开发者协作网络
前面所示的“中央-边缘”结构为之前部分学者的研究结果(例如文献[8])提供了一定佐证。在此基础上,进一步的统计分析表明,在项目的最初几年,这一网络的规模呈现明显的扩张态势。但自2000年以来,网络的规模增长并不明显。但另一方面,中央开发者的人数呈现持续增长的态势。这表明该项目团队前期的发展主要体现在开发者总量的增长上;而自2000年以来,项目团队的发展主要体现于开发者之间交流范围和频度的扩大。对于复杂的创新项目而言,团队规模的扩张必然带来交流和协调的额外代价,因此,团队规模的扩张是有限度的。集体创新、尤其是开放式创新项目绩效的提高必然依赖于内部协调性的增加。Linux内核开发协作网络的上述结构变化特征正反映了集体创新项目的这一特点。
图2 开发者人数随时间的变化
还可以从网络结点度分布的角度对Linux内核开发者协作网络的总体特性加以刻画。在考察的208个月中,共有55 187个不同开发者参与过邮件列表讨论。开发者协作网络累计度分布如图3所示:
图3 开发者协作网络累计度分布
图3显示了在双对数坐标下,结点的累计度对应于结点数量的曲线近似于一条斜率为负的直线,且在直线的末端呈现一个长尾结构。这表明结点的度分布符合带长尾的幂律分布的特征。这一网络是一个“无标度”网络,其中少数开发者在邮件列表中的参与度极高,而绝大部分参与者的参与度很低。进而,笔者统计了最活跃的前200个开发者的邮件数,其邮件数占总邮件数的50.12%。
上面的分析结果表明,Linux内核开发者在开发协作活动中呈现高度不对称的交互结构。正因如此,要分析Linux开发的内在协作机制,对协作网络的“中央”部分进行进一步分析显得尤为必要。下节将把分析集中于其“中央”部分。

3 中央网络的结构与演化分析

基于上一节阐明的中央-边缘结构,本节对其中的“中央”部分作进一步分析。

3.1 中央网络的层次结构

图3揭示了开发者协作网络的整体“无标度”结构。这显示了这一网络存在内在的层次化结构。这种幂律特性也存在各个具体月份的协作网络之中。但简单按照结点度并不能完全反映各个结点在整个网络中的重要性。例如项目的领导人L.Torvalds 在很多月份并非是连接度最大的结点。对此,本文采用PageRank算法[9]来分析各个结点在月度网络中的重要性。通过对各结点的PageRank值的降序排列,可以看到月度开发者协作网络的中央部分具有明显的层次结构。L.Torvalds 处于网络的核心;围绕着L.Torvalds,第一层由平均占中央网络结点3.16%的结点构成,其累计PageRank值占中央网络中PageRank总值的20%;第二层由平均占中央网络结点15.92%的结点构成,累计PageRank值占总值的30%;其余约80.85%的结点组成第三层结点。这样的网络层次性结构在所考察的208个月份中是稳定的。这一分层结构同Linux内核项目的基本组织模式具有内在的一致性。正如Linux内核的核心开发人员所说明的,Linux项目的组织是按照信任代理的方式形成的层次化组织结构,如图4所示:
图4 Linux内核项目的隐含组织结构

来源:项目核心开发者G.Kroah-Hatman 2008年在Google公司做的报告,转引自文献[10]

3.2 中央网络中社区结构的形成

根据上面对节点PageRank值的分析,月度协作网络从Linux开发项目的早期就形成了以L.Torvalds为中心的层次化网络结构。这种层次结构在所考察的各个月份中都得到明显显现。这反映了Linux项目的基本组织模式。除了层级结构,网络的模块性或社区结构是社会网络的重要特性。对此,本文进一步分析了Linux月度协作网络中的中央节点网络模块度的变化曲线,见图5,模块度按照文献[11]的方法计算。根据这一算法,可以看到,1996-2005年前后,该网络的模块度呈现缓慢提高的总体趋势,而在2006-2013年期间,模块度的提升显著加速。这进一步显示了开发人员的专门化过程——特定的基层开发人员越来越倾向于同特定领域的子系统维护员交流。这意味着该开发人员的开发日益集中于单个领域。
图5 中央网络模块度的变化趋势
为进一步检验中央网络的结构特性,笔者还计算了其聚集系数和平均最短路径长度在所考察的208个月中的变化。其结果如图6所示:
图6 中央网络的小世界特性分析(1996年3月至2013年6月)
图6中,C/RC曲线描述中央网络聚集系数随着时间变化的状况。其中C代表所考察的中央网络的聚集系数,RC代表具有同样结点和边数的随机网络的聚集系数。这样C/RC就描述所考察的网络与相应随机网络的聚集系数的差别。从图6可以看到,所考察的网络的聚集系数显著高于对应的随机网络,且这一网络的局部聚集性随着时间推移日益提高——由1996年对应随机网络的约20倍上升到2013年的接近100倍。在聚集系数显著提高的同时,中央网络中任意两点间的平均最短路径长度基本维持稳定。图6中L表示所考察的中央网络的平均最短路径长度,RL表示对应随机网络的平均最短路径长度。这样图6中L/RL值的变化范围显示了所考察的中央网络与对应随机网络的平均最短路径长度大体相同。L/RL的值最高不大于1.4。因此,根据D.J.Watts和S.H.Strogatz提出的经典度量准则[12],本文所考察的中央网络具有小世界网络的典型特征,并且随着时间的推移,这一小世界特性日益显著。
根据图5和图6,中央网络日益演化成为如图7所直观显示的包含清晰社区结构的小世界网络。其中,各个社区各自围绕少量高层系统维护员和相应的开发领域而构建;基层开发人员(占中央网络中结点的最大多数)基本固定于特定社区,而跨社区的联接主要通过高层开发人员(特别是L.Torvalds本人和主要子系统维护员)之间的交流通信关系建立。
图7 2013年6月中央网络的社区结构

4 Linux内核开发协作模式探讨

前面所分析的Linux内核开发协作网络的结构和演变特征一定程度上反映了Linux开发中的基本协作模式。首先,网络形成一个典型的中央-边缘结构。这表明整个项目由相对数量较少的稳定开发者和大量的偶发参与者共同完成。偶发参与者虽然在项目中的参与度相对较低,但他们对项目的稳定推进也起十分重要的作用。这些参与者中很多是程序故障的报告人,他们的参与对于提高Linux内核的软件质量起着十分重要的作用。同时,大量偶发参与者群体的存在也为Linux内核的开发提供了充足的后备军。
其次,开发者协作网络的中央部分(暨中央网络)内在地包含一个层次化的结构,顶层由项目的领导人和子系统维护员构成,这一群体人员数量较少,但相对较为稳定。他们对项目的协调起关键作用。中央网络的底层由普通的开发者构成。这一群体的人员流动性较大。进一步的数据分析显示,在中央网络中每年平均49.6%的开发者离开,由边缘开发者和外界分别补充25.7%和32.2%到中央网络。开发人员的高流动性是大型开源软件项目的必然现象,但另一方面,从边缘开发者和外界持续流入的中央开发者确保了项目的持续发展。这从根本上是源于Linux内核开发的自发淘汰机制。
第三,以高层开发人员为核心、围绕特定的开发领域,形成高度内聚的社区。基层开发人员参与的邮件主题极少偏离社区所属的领域,即网络中较外围和底层的结点极少参与多个社区的邮件研讨。这说明Linux内核开发自动形成基层开发人员的高度专门化分工。这一结果显著不同于开源软件开发之早期研究者假定的“自由市场”模式;与之相反,Linux内核的开发,实际上是高度协作式的。但与商业软件开发不同,Linux内核开发中的协作和开发者的专门化工作是自发形成的。
总体说来,Linux内核开发的协作网络通过自发演化形成一个多层多社区的结构。这是一种高度组织化的结构,同时又包含良好的组织柔性。这种结构的形成对于Linux内核开发项目的效率和开发质量具有显著的意义。同时,这样的项目组织形态对于其他类型的多主体联合创新项目也有很好的启示意义。

5 结论

本文通过对Linux内核开发邮件列表数据的分析,研究了Linux内核开发者协作创新网络的结构和演化特征。从本文的分析可以看到这一协作创新网络的中央部分逐步演化为具有明显层次化结构且具有显著社区特征的小世界网络。这反映了该协作系统通过数量较少的协调人协调整个项目开发工作,而基层的开发人员自发形成高度专业化的工作分工。同时,这一网络又呈现高度流动性的特征,在各月度、各年度的邮件通信参与人中,人员的总体差异度很大。这表明Linux内核以十分灵活的方式进行协作。本文所展示的Linux内核开发协作网络对于其他类型的开放式创新项目(例如企业、高校等多主体形成的协同创新项目)的组织具有很好的启发意义。一方面,项目参与者骨架的形成以及稳定维持对于创新项目的成功具有重要意义;另一方面,项目的创新性还有赖于项目参与者协作的灵活性和动态性。
[1]
Chesbrough H W. Open innovation: The new imperative for creating and profiting from technology[M].Cambridge: Harvard Business Press,2003.

[2]
Howe J. Crowdsourcing: How the power of the crowd is driving the future of business [M].New York:Random House,2008.

[3]
Kittur A , Suh B ,Pendleton B A ,et al. He says,she says: Conflict and coordination in Wikipedia[C]//Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. New York: ACM, 2007:453-462.

[4]
Von Hippel E ,Von Krogh G. Open source software and the“private-collective”innovation model: Issues for organization science[J].Organization Science,2003,14(2):209-223.

[5]
Feller J,Fitzgerald B. Understanding open source software development[M].London: Addison-Wesley,2002.

[6]
Crowston K ,Wei K ,Howison J ,et al.Free/Libre open-source software development: What we know and what we do not know[J].ACM Computing Surveys,2012, 44(2): 1-35.

[7]
Von Krogh G ,Haefliger S ,Spaeth S ,et al.Carrots and rainbows: Motivation and social practice in open so-urce software development[J].MIS Quarterly,2012,36(2): 649-676.

[8]
Lee G K , Cole R E .From a firm-based to a community-based model of knowledge creation: The case of the Linux kernel development[J].Organization Science,2003,14(6):633-649.

[9]
Brin S , Page L.The anatomy of a large-scale hypertextual Web search engine[J].Computer Networks and ISDN systems,1998,30(1):107-117.

[10]
Xia Haoxiang.A Collective-intelligence view on the Linux Kernel developer community[J].International Journal of Knowledge and Systems Science (IJKSS),2010,1(3):20-32.

[11]
Blondel V D ,Guillaume J L, Lambiotte R, et al.Fast unfolding of communities in large networks[J].Journal of Statistical Mechanics: Theory and Experiment,2008(10):10008.

[12]
Watts D J, Strogatz S H.Collective dynamics of‘small-world’networks[J].Nature,1998,393(6684):440-442.

文章导航

/

〈 〉