X-lab2017 / open-research

📚 用开源的方法来研究开源的现象。(open source methodology for open source phenomena)
49 stars 17 forks source link

[开题框架] 面向开源治理最佳实践认证过程的分类预测模型 #54

Open will-ww opened 2 years ago

will-ww commented 2 years ago

根据研究生开题模板 #53 ,提出如下的开题框架:

数据开源:

参考:

gymgym1212 commented 2 years ago

CII 最佳实践数据已汇总:projects.csv

gymgym1212 commented 2 years ago

研究了一下 scorecard,每个检查项 10 分,总评分就是加权平均。检查项有四个等级,critical 权重为 10,high 权重为 7.5,medium 权重为 5,low 权重为 2.5。

这篇文档里介绍了每个检查项的等级,以及具体评分的细节:https://github.com/ossf/scorecard/blob/main/docs/checks.md

但这些指标的权重数值是如何产生的,也没有特别的描述。我猜就是专家经验+拍脑袋。另外,如果一个检查项有脱离 GitHub 的实现方式(比如 CI 不一定要在 GitHub 做),那么等级就可能被设置为 low。

gymgym1212 commented 2 years ago

从想要达到的目的上讲,scorecard 和 CII 最佳实践徽章的效果是类似的。因此可以考虑使用 scorecard 对 CII 最佳实践徽章中的项目进行测试、比对效果。

但在测试的时候发现,那些提交比较早的项目不太适用,因为 scorecard 只能检测仓库的当前状态,而不能追溯历史。

will-ww commented 2 years ago

论坛这边还有一些信息,一起汇总:https://github.com/orgs/X-lab2017/discussions/64

will-ww commented 2 years ago

有没啥进展?目前的研究目标和实验设计,有什么想法了?

gymgym1212 commented 2 years ago

手动抽样结果

在展开大规模的自动化测试前,我先手动随机抽样了一些项目。

从测试结果来看:

自动化测试

当然,上述结果只是我个人的观测结果,并不准确。不过我已经在跑程序去自动化统计 scorecard 得分。等全部统计完后,会用柱状图去展示结果:四种柱颜色,分别代表黄金、白银、通过、未通过;X 轴坐标是 scorecard 得分,以 0.5 分为间隔;Y 轴是数量,代表在对应 scorecard 得分下有多少个项目。

不过这样四合一的统计方式其实会有点问题,因为黄金和白银级别的项目太少了,分布没有那么直观。也可以考虑将四个级别做成四个柱状图,这样看起来会更加舒服。

一些想法

可以看出不同 level 之间的项目,scorecard 得分是有阶段差异的,但是得分区间互相重叠难以直接从得分判断出徽章类别。因此,利用实验室的日志数据进行补充,可能可以帮助我们对开源项目的最佳实践认证进行分类。

进度

昨天 GSoC 和导师沟通了一下项目,今明两天完成开题报告和专业实践总结。自动化得出的统计结果预计这周内搞定,快的话这两天,慢的话就周末。

gymgym1212 commented 2 years ago

对了,相关论文等参考文献上,还请王老师看看能不能帮我补充一点。我目前就是顺着 Dirk 教授的那篇 Industry Best Practices for Open Source Governance and Component Reuse 和它的参考文献在看,感觉论文不太好找。

will-ww commented 2 years ago

对了,相关论文等参考文献上,还请王老师看看能不能帮我补充一点。我目前就是顺着 Dirk 教授的那篇 Industry Best Practices for Open Source Governance and Component Reuse 和它的参考文献在看,感觉论文不太好找。

没问题,文章我有很多~

will-ww commented 2 years ago

是否可以构建如下一个大论文框架:

数据驱动的开源社区治理最佳实践预测模型与自动化工具

1. 开源治理目前存在的主要问题

2. 已有的相关工作

3. 对CII数据集的初步分析与洞察

4. 基于开发者协作网络的机器学习模型(本文提出的模型)

5. 实验分析与评估

6. 在 OpenCertified 项目中的应用

will-ww commented 2 years ago

实验设计方面,几个初步想法:

假设本文提出的方法就叫:OpenCertified

这样,就可以构建三个对比序列:CII、Scorecard、OpenCertified

1. CII 和 OpenCertified

2. OpenCertified 和 Scorecard 对比

3. 带图指标的 OpenCertified 和 不带图指标的 OpenCertified 进行对比

本质上,就是要说明,我们提出的 OpenCertified 比 OpenSSF 下面的项目要好,这个意义和影响力就足够大了~

will-ww commented 2 years ago

继续针对昨天的讨论提建议:

题目:基于开源治理最佳实践集的项目成熟度评估模型与自动化工具

几个概念与要点:

本文的主要工作: