1、协同内容创建
协同内容创建系统是指由多个用户在统一技术平台上协同进行内容创建的信息资源系统,如维基百科、百度百科、社会化标签系统、开源软件系统等[1]。Kane(2011)[3]认为,协同内容创建系统的多人协同创建模式有助于提升系统质量。这是因为,多个参与者之间的协同会使得之前创建的系统处于多人审核监督之下,出现的错误很容易被其他参与者发现和纠正。而且,参与者越多,效果越好。参与者多,就有更多的人愿意编辑、整理信息,愿意发现错误、纠正错误,愿意创建新内容,贡献知识。维基百科、开源软件等都如此。Wagner et al.(2007)[4]通过对维基百科参与者的动机进行研究发现,虽然参与者具有个人主义和协作动机,但协作(利他)动机占主导地位,并认为维基百科的协作模式与开源软件开发不同,开源软件开发在开发者参与方面不那么包容,在贡献者动机方面更加“自私”。
2、协同开发行为特征
由于当前开源软件平台能获取到的开发人员活动相关的数据主要是代码提交数据、邮件列表数据、漏洞追踪数据,所以当前研究大部分也是从版本控制系统代码提交数据、邮件列表数据、漏洞追踪数据中提取开发者的协同开发行为特征。Ma et al.(2014)[5]对开源软件中开发者提交行为进行研究,发现在项目的生命周期和每个发布版本周期中的项目级和文件级集体提交间隔大致遵循幂律分布。徐奔(2013)[6]通过Github上Craft Bukkit和Action Bar Sherlock项目的代码提交数据挖掘开发者行为特征,发现开发者贡献度大小受到首次提交代码在提交前一段时间内修改次数的影响,开发人员的合作更多地集中在代码行数、方法数和属性数较多的大文件中,同时相比同一地域的开发者,不同地域的开发者之间更倾向于存在主导关系。Sharif et al.(2015)[7]通过对开源软件邮件列表数据进行研究,发现开发人员经常需要支持他们在开发过程中使用的技术,他们频繁地引用文档,并且基于他们预先预期的系统设计原则来寻找面向实现的细节。Bernardi et al.(2018)[8]通过对四个项目的问题追踪评论、邮件列表和开发者聊天记录的研究,发现大多数代码错误由未提供这些错误的提交者修复,并且修复诱导提交者的连通性水平显着低于其他提交者。Wu et al.(2017)[9]通过对Eclipse和Mozilla项目的漏洞追踪、邮件、评论数据进行分析,发现开发人员在正常和超负荷情况下表现出截然相反的行为模式,同时漏洞修复时间遵循扩展指数分布而不是常见的幂律分布。
3、开源软件成功衡量
软件开发背景下的对成功的定义是主观的,当前并没有一个广泛接受的开源软件成功的定义,不同的研究人员给出了不同的衡量标准。Crowston et al.(2006)[10]认为成功是一个多维度的结构,需要从多个角度进行评估,Grewal et al.(2006)[11]同意他的看法,并指出,衡量开源软件项目在技术成就或市场成功方面的成功,都是对项目成功不完整的描述,他们进一步指出,开源软件成功的全面描述应该包括开发人员的技术成就和市场成功的指标。这一对项目成功的标准与有关软件成功的文献(Rai et al.,2002)[12]和新产品开发成功(Mansfield et al.,1975)[13]是一致的。后续的许多研究者都采用技术成功与商业成功两个方面衡量开源项目成功的方法,其中Singh(2010)[14]通过Sourceforge平台上项目代码提交次数来衡量项目的技术成功。