贡献者领域模型
在领域画像模型中,我们首先将贡献者为社区做出的贡献按领域或类型进行划分。我们力争将贡献领域划分得更加原子化,以与我们当前的工程能力相匹配。然而,这个划分过程是一个持续演进的过程,随着我们工程能力的提升,我们将能够实现更细粒度的领域划分。 对于观察类贡献、Issue 类贡献和 Code 类贡献,我们可以利用代码托管平台(如 GitHub、Gitee 等)提供的数据来获得洞察。对于其他几类贡献,由于社区使用方式和程度的差异,我们目前只能提供有限的数据源作为参考。然而,随着我们工程能力逐步提升,我们可能会提供更多解决方案。
- 观察类贡献:贡献者通过 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.000 | 0.667 | 1.000 | 0.667 | 2.000 | 1.333 | |
代码贡献次数 | 1.500 | 1.000 | 1.500 | 1.000 | 3.000 | 2.000 | |
Issue 贡献者数量 | 1.000 | 0.667 | 1.000 | 0.667 | 2.000 | 1.333 | |
Issue 贡献次数 | 1.500 | 1.000 | 1.500 | 1.000 | 3.000 | 2.000 | |
观察者数量 | 0.800 | 0.500 | 0.333 | 0.500 | 0.333 | 1.000 | 0.667 |
观察者贡献次数 | 0.750 | 0.500 | 0.750 | 0.500 | 1.500 | 1.000 |
AHP 分析结果
指标名称 | 特征向量 | 权重 |
---|---|---|
代码贡献者数量 | 0.960 | 16.000% |
代码贡献次数 | 1.440 | 24.000% |
Issue 贡献者数量 | 0.960 | 16.000% |
Issue 贡献次数 | 1.440 | 24.000% |
观察者数量 | 0.480 | 8.000% |
观察者贡献次数 | 0.720 | 12.000% |
一致性检验结果
最大特征根 | CI 值 | RI 值 | CR 值 | 一致性检验结果 |
---|---|---|---|---|
6.000 | 0.000 | 1.260 | 0.000 | PASS |
阈值
我们选择的阈值是基于不同类型开源项目的大数据观测。
参考文献
贡献者
前端
- Shengxiang Zhang
- Feng Zhong
- Xingyou Lai
后端
- Yehui Wang
- Shengxiang Zhang
- Shengbao Li
- Huatian Qin
评估模型
- Yehui Wang
- Liang Wang
- Shengbao Li