如何评估开源项目的社区参与度 一起来看看
扫一扫
分享文章到微信
扫一扫
关注鹿财经网微信公众号
在文章「开源软件的线路图」中,我们讨论了为什么Bessemer对(社区)这个类别如此感兴趣,这是我们从投资开源软件公司中得到的经验,社区参与度是我们用来评估这些业务的框架。社区是我们对开源项目评估框架的六个标准之一,是衡量项目健康状况的重要指标。作为我们在这一领域的研究和投资的一部分,我们分析了GitHub上排名前一万的开源项目,以更好地了解是什么驱动和支撑着过去十年里这些 开源项目。下面是我们从分析中得到的结论。
社区为何重要
开源项目从根本上说就是由社区的投入来驱动的,即使大多数贡献者从未编写出最终项目的代码。许多开源项目是由一小组核心开发人员维护的,当涉及到实际编写代码和指导项目时,社区仍然会通过错误报告,产品路线图反馈以及功能请求提交等形式,在项目中扮演基础角色。
我们认为社区为开源项目提供了最大的价值,即能够帮助他们有机地传播有关项目的信息,提高产品的美誉度,并确保项目根据其用户的需求而发展。
社区往往与产品创新和采用联系在一起,这是开源软件公司相对于竞争对手的一些核心优势。因此,当我们评估开源公司时,我们会关注它的社区参与度,以判断它是否足够强大,从而使该公司在竞争解决方案中拥有真正的优势。
哪些指标很重要
对于像社区这样的定性事物而言,准确地衡量是否成功是困难的,特别是考虑到所有不同的利益相关者和相关指标。
对于我们Bessemer的投资标的,我们最关注的是社区用户和贡献者的数量,因为他们是对社区规模 洞察力的群体。这就是为什么我们很少会去关注诸如Github Stars之类的数字,这种数字与其他虚荣性指标一样,往往会随着大型新闻稿的发布而激增,并且由于它们不能反映持续参与,因此具有一定程度的欺骗性。
用户和贡献者代表积极参与该项目并依赖该项目的团体,但是鉴于大多数项目依靠其用户进行的遥测功能(注:Telemetry是一项远程的从物理设备或虚拟设备上高速采集数据的技术)有限,因此,真正的活跃用户很难衡量。
另一方面,贡献者虽然仅代表一小部分用户,不过这个群体更容易测量。这部分用户倾向于通过投入时间以问题注释的形式提供反馈,或者偶尔为项目贡献代码,从而与项目之间有更深入互动。我们并不使用贡献者的数量来衡量项目的开发能力,取而代之的是,我们将其用作该项目获得多少采用率的代替性指标。
不同的项目之间,贡献者是一个有点模糊的术语。为了进行基准测试,我们将其定义为在给定月份内创建Github问题、发表评论、Pull Request或提交的任何用户。相比其他机构只统计提交代码到项目中的开发人员,我们对贡献者的定义范围更加宽泛。然而,要衡量社区参与程度,我们认为宽泛的范围更有帮助。当我们跟踪许多其他开源数据点时,我们的北极星指标(注:北极星指标也叫作第一关键指标,One Metric That Matters,是指在产品的当前阶段与业务或战略相关的 核心指标)是一个项目每月贡献者的活跃度。
的参与度是什么样的
在讨论最大的开源项目社区时,不可能不碰到来自科技巨头的项目。有史以来排名前五位的开源项目分别来自Google,Microsoft和Facebook。这些项目在现代软件开发和云基础架构中起着根本性的作用,它们建立了令人难以置信的大型社区,每个社区每月都有1000多个贡献者。有趣的是,每个项目都已成为各自类别中最流行的一两个技术,包括VSCode(注:一款开源免费跨平台代码编辑器,广泛使用的IDE),Kubernetes(Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理)以及React Native和Flutter(两个 的跨平台前端框架)。
但是,一旦我们剔除了由大技术公司支持的项目(这些项目与独立开源项目的相关性较低),而将注意力集中在与关联商业初创公司有关的前10个独立项目上,则图表看起来会大不相同:
在参与度方面,Moby项目(Docker背后的基础项目)以及最近的Gatsby,在该图表上都是显著高于同类型其余项目的平均值。表中其余项目的平均每月贡献者数量分布在200至600之间, 是 同类中的头部水平。在我们分析的前10000个项目中,不到5%的项目每个月拥有250个以上的贡献者,而只有2%的项目在6个月或更长时间内始终超过250个贡献者。
衡量贡献者活动远非一门科学,但在我们的分析中,我们发现了一些趋势:
不同成熟度的差异——大多数项目在其早期都经历了强劲的增长,在社区活动达到顶峰之后,随着该项目达到完全成熟,参与度趋于稳定。考虑到这一点,我们在评估参与度与基准时会考虑项目的年龄和成熟度。
按类型划分的差异——某些类型的项目(例如数据库),吸引的贡献者要比其他类型的项目(例如前端框架)少得多,后者拥有更大的开发人员团队,能够为其做出贡献。因此,为了比较项目之间的差异,按照软件类别对它们进行细分以调整这些变量非常重要,这将在下面更深入地讨论。
倾斜——贡献者的活动严重偏向最大的项目。虽然那些最大的项目通常每月超过1000个贡献者,很少有项目每月不足100个贡献者。鉴于对大型项目的偏向,我们对于新项目,更加关注是否达到与他们的阶段和类型相符合的特定阈值。
一个项目还有无数的细微差别会影响它是否能够吸引大量贡献者,包括项目组织得有多好,对新贡献者的欢迎程度有多高,以及社区范围有多广。出于分析目的,我们专注于最大的因素之一:项目的潜在用户有多少开发人员?例如,我们知道有能力为像Font Awesome这样的前端项目做出贡献的开发人员远远多于为ElasticSearch提供专业知识的开发人员。因此,我们对数据库项目期望的贡献者数量将大大低于前端项目的数量。
上图显示了项目参与度随时间变化的曲线,说明了流行的前端项目(如React Native和Font Awesome)与流行的数据库和分析引擎(如ElasticSearch和Apache Spark)之间规模的差异。
一流的基准可以成为有用的指南,但是很少有项目能够达到基准规模的参与度。坦率地说,在一定程度上,更多的参与并不一定表明项目或公司能够在商业上取得成功。
如果一些新兴的开源项目能够每月持续超过100个贡献者,那么它们将处于行业头部领域,如果项目每月贡献者数量超过250个,则接近了有史以来最活跃的项目的成绩。实际上,在前10000个项目中,只有6%的项目在6个月或更长时间内保持每月250个贡献者。
开源社区还有更多特性,例如贡献者活动的质量和忠诚性,这些特性很难量化,但同样重要,我们知道这些贡献者指标仅说明了故事的一部分。但是这些建立在强大开源社区之上的公司,比他们的竞争对手拥有更多的优势,作为投资者,我们倾向于投资这种类型的公司。
软件的未来是社区驱动的
我们正处于一个软件开发越来越多地由社区驱动的阶段,商业软件和开源软件之间的界限越来越模糊,我们希望越来越多的公司将其核心技术开源,因为开源能给社区和公司带来共同的利益,并专注于如何实现盈利。随着Bessemer对这些类型公司的投资持续增加,我们对开源项目指标的研究将会更进一步,因为我们将拥有更多的数据来源纳入分析,并更好地完善我们的指标。
投稿邮箱:lukejiwang@163.com 详情访问鹿财经网:http://www.lucaijing.com.cn