综合研究GitHub数据表明,成功的开源项目往往有几个共性。本周,Facebook、谷歌等多家大型科技公司联合发起了TODO(OpenCommunication,OpenDevelopment)项目,希望鼓励企业和开发者分享与使用和实施开源项目相关的知识和经验,然后推动各种规模的企业用户更积极地拥抱开源解决方案。参与组织之一的GitHub在一篇博文中表示,其推进该项目的目标之一是“确保开源项目继续健康活跃”。抛开一点运气不谈,一份新的研究报告揭示了开源项目成功的一些必要因素——而这很可能有效地帮助TODO在未来向前发展。来自日本的研究人员YuyaYosikawa、TomoharuIwata和HiroshSawada发表了一篇名为《在社交媒体上协作:社交编码成功项目分析》的论文。他们希望了解是什么因素决定了GitHub等“社交编程网站”上各种开发项目的最终命运。为实现这一目标,他们在2011年2月至2013年5月期间不懈地从GitHub档案中收集数据——特别是具有超过30条评论的非分叉存储库。这些数据涵盖的评论总数近4200万条,涉及140万开发者和31.7万个相关项目。为了衡量一个开源项目的成功与否,研究人员使用了三个指标:活跃度(每天提交新代码的数量)、流行度(每天收到的星级评论总数)和“社交性”(拉动次数)每天请求数)。数量)。他们认为,三大因素决定了上述成功标准的实际表现,即:团队结构(即项目团队有多大,每个团队成员内部如何沟通),以及外部开发者交互效果(即响应请求推送)以及正在开发的项目的具体类型(如web应用等)。在讨论这些核心要素之前,让我们先看看这些研究人员发现的其他一些有趣的结论,例如:大多数项目不涉及外部开发人员的贡献。具体来说,研究数据显示,70%的项目没有发送任何推送请求。大多数项目往往会在短时间内快速完成。只有大约10%的项目可以在很长一段时间内保持相对统一的代码提交率。剩下的90%的提交代码绝大多数都集中在一个或几个比较短的阶段,经常会出现整个周期连续几个月没有提交代码的情况。此外,60%的项目中90%的代码提交出现在启动后的三个月内。在考察影响开源项目成功的因素时,我们也发现了一些有趣的现象。根据我阅读这篇论文的经验,我发现以下三点可以看作是决定开源成功与否的核心条件:团队规模越大,项目成功的概率就越高。内部团队越大(即,提交代码的贡献者越多),上述三个成功指标的值就越高。如果团队成员以前在其他项目上合作过,则当前项目更有可能成功。对于每个项目的内部团队,研究人员建立了一个“伙伴关系网络”。从本质上讲,这种关系网络描述了当前项目的参与者是否也在其他项目中进行协作。符合此概况的参与者越多,这三个成功指标的值就越高。对拉取请求的响应鼓励代码贡献者。研究人员发现,项目收到的星标和拉取请求越多,内部团队成员的积极性就越高——换句话说,拉取请求的响应和合并可以有效地激励参与者工作。有趣的是,请求推送的响应时间并不影响项目的成功概率;总之,只要有回应,就是对项目的积极推动。这是我们得出结论的地方。如果你想让你的开源项目成功,首先需要尽可能扩大内部团队的规模,其次确保参与者在其他项目中保持合作关系,最后定期响应推送请求。其实并没有那么难,对吧?英文原文:http://www.itworld.com/cloud-computing/436472/3-keys-open-source-success?source=ITWNLE_nlt_today_2014-09-17
