Skip to main content

贡献者领域模型

在领域画像模型中,我们首先将贡献者为社区做出的贡献按领域或类型进行划分。我们力争将贡献领域划分得更加原子化,以与我们当前的工程能力相匹配。然而,这个划分过程是一个持续演进的过程,随着我们工程能力的提升,我们将能够实现更细粒度的领域划分。 对于观察类贡献、Issue 类贡献和 Code 类贡献,我们可以利用代码托管平台(如 GitHub、Gitee 等)提供的数据来获得洞察。对于其他几类贡献,由于社区使用方式和程度的差异,我们目前只能提供有限的数据源作为参考。然而,随着我们工程能力逐步提升,我们可能会提供更多解决方案。

image

  • 观察类贡献:贡献者通过 star、fork、watch 对项目予以关注,由此可以提升和展现项目受关注的程度,但对项目没有直接贡献。
  • Issue 类贡献:Issue 类型的贡献,根据问题的类型,可分为:使用咨询、Bug 上报、任务规划等。 但我们目前还没有一个通用的解决方案去甄别问题的类型。所以我们根据贡献者在 Issue 中产生的行为,对贡献做了两个类型的划分,常规贡献和管理贡献:
    • Issue 常规类贡献:Issue 创建、评论。
    • Issue 管理类贡献:Issue 标签、关闭、重新打开、分配责任人、标记重复、迁移、里程、评论锁定等 8 种管理行为。虽然这些贡献往往被忽视,但实际上是社区管理者花费大量时间以保证 Issue 处理流畅的重要行为,因此我们应该纳入观察范围。
  • Code 类贡献:与 Issue 类贡献类似,我们将 Code 贡献行为分为,常规贡献和管理贡献:
    • Code 常规类贡献:Code 开发,Pull Request 创建、Code Review。
    • Code 管理类贡献:Code 直接提交,以及 Pull Request 标签、关闭、重新打开、分配责任人、标记重复、迁移、里程、评论锁定、合并、审查等 10 种管理行为。这些管理行为如同 Issue 管理类贡献一样,同样花费了社区管理者大量精力,来确保代码能够顺利合入。
  • 论坛类贡献:开源社区如果基于 Discourse 等提供公开获取数据渠道的框架构建论坛服务,我们就可以洞察论坛的贡献行为,例如论坛的 Topic 创建、评论。
  • 聊天平台类贡献:我们支持基于 Slack、Discord 等作为聊天平台的数据考察方式。
  • 媒体平台类贡献:目前我们的数据主要来自于 Twitter。
  • 活动类贡献:当前我们的数据依赖手动输入,包含线上和线下活动。
  • Sponsor:现金类的捐赠。

评估模型中的指标

代码贡献者数量

  • 定义:在过去 90 天内有多少活跃的代码类贡献者。
  • 权重:16%
  • 阈值:500

代码贡献次数

  • 定义:在过去 90 天内活跃代码类贡献者的人均贡献次数。
  • 权重:24%
  • 阈值:15

Issue 贡献者数量

  • 定义:在过去 90 天内有多少活跃的 Issue 类贡献者。
  • 权重:16%
  • 阈值:1000

Issue 贡献次数

  • 定义:在过去 90 天内活跃 Issue 类贡献者的人均贡献次数。
  • 权重:24%
  • 阈值:10

观察者数量

  • 定义:在过去 90 天内有多少活跃的 star,fork 观察者。
  • 权重:8%
  • 阈值:2000

观察者贡献次数

  • 定义:在过去 90 天内活跃 star,fork 观察者的人均贡献次数。
  • 权重:12%
  • 阈值:2

评估模型算法

权重

我们使用 AHP 来计算每个指标的权重。

AHP 输入数据

指标名称代码贡献者数量代码贡献次数Issue 贡献者数量Issue 贡献次数观察者数量观察者贡献次数
代码贡献者数量1.0000.6671.0000.6672.0001.333
代码贡献次数1.5001.0001.5001.0003.0002.000
Issue 贡献者数量1.0000.6671.0000.6672.0001.333
Issue 贡献次数1.5001.0001.5001.0003.0002.000
观察者数量0.8000.5000.3330.5000.3331.0000.667
观察者贡献次数0.7500.5000.7500.5001.5001.000

AHP 分析结果

指标名称特征向量权重
代码贡献者数量0.96016.000%
代码贡献次数1.44024.000%
Issue 贡献者数量0.96016.000%
Issue 贡献次数1.44024.000%
观察者数量0.4808.000%
观察者贡献次数0.72012.000%

一致性检验结果

最大特征根CI 值RI 值CR 值一致性检验结果
6.0000.0001.2600.000PASS

阈值

我们选择的阈值是基于不同类型开源项目的大数据观测。

参考文献

贡献者

前端

  • Shengxiang Zhang
  • Feng Zhong
  • Xingyou Lai

后端

  • Yehui Wang
  • Shengxiang Zhang
  • Shengbao Li
  • Huatian Qin

评估模型

  • Yehui Wang
  • Liang Wang
  • Shengbao Li

Copyright © 2022 开源指南针。保留所有权利。