README.md
项目清单列表
开源项目榜单
开源项目榜单
开源项目-个人贡献榜
开源项目-公司贡献榜
项目目录结构说明
-
data/
目录下是各种中间输入数据目录 -
ranks/
目录下是榜单数据输出目录 -
src/
是数据获取和榜单计算源代码目录,其中榜单计算代码是:src/tasks/ranks.py
项目配置和运行
- python 3 环境
- cd src/
pip install -r requirements.txt
python main.py -a tasks.ranks
数据源
- Apache 基金会项目 ,GitHub Apache 组织下的所有项目,通过 GitHub API 获取,每个 Json 文件含 100 个项目;
-
CNCF 基金会项目,GitHub CNCF 组织下的所有项目,通过 GitHub API 获取,每个 Json 文件含 100 个项目;
- 补充数据源: https://landscape.cncf.io/
- LinuxFoundation 项目, https://landscape.linuxfoundation.org/
其它补充资料
- 木兰Aarch64开源生态全景平台,http://armlandscape.mulanos.cn/
- LF AI & DATA 基金会项目,https://landscape.lfai.foundation/
- MySQL 项目,待补充
- 阿里大数据开源公示榜单,https://shimo.im/docs/m8AZVb0n88Hg6oAb/
开源指数计算
计算方法1
计算方法 1 是通过对项目各个数据因子进行加权计算得出的一个排名结果,具体的计算规则可参考src/tasks/ranks.py
方法 1 的结算结果详见 ranks
目录中的数据
计算方法 2
- 项目的受欢迎指数 P,指标包括:项目总 Star 数(S)、项目总 Fork 数(F)、项目总 Issue 数(I)
- P = S 0.5 + F 0.3 + I * 0.2
- 项目的活跃指数 A,指标包括:一段时间范围内(eg:1年)的项目主分支 Commit 数(c)、项目主分支新增 PR 数(p)、项目新增 Issue 数(i)、项目主分支贡献者 Contributor 数(d)
- A = A = c 0.4 + p 0.2 + i 0.2 + d 0.2
- 项目的一段时间范围内的趋势,包括:
- 受欢迎指数变化趋势,以月为单位,最近 12个月项目的平均受欢迎指数的变化趋势 b(正的趋势>1 ,减弱的趋势 <1)
- 活跃指数变化趋势,以月为单位,最近 12个月项目的平均活跃指数变化趋势 d (正的趋势 >1 ,减弱的趋势 <1 )
- 开源项目指数 = P ATAN(b) + A ATAN(d)
方法 2 的计算结果详见 data/csdn/gitcode_project_rank_top1000.csv
贡献者排行
基于 data/CSDN/repo-commit-rank.csv
的数据和通过该邮箱 commit 找到的对应 GitHub 用户的公开地址、公司信息,提取出地域为中国(有省份信息的需要标记到省份),然后得到国内开发者的贡献排行榜
基于仓库的 commit 汇总数据 & RepoType-OSChina.xlsx
开源项目分类情况,找到不同项目的开发者排行,然后根据 GitHub 用户信息得到不同项目的开发者排行
数据介绍
补充说明:
- 时间范围: 2020-10-1 至 2022-9-30
- 趋势类的数据统计是以月为单位
CSDN 数据
-
data/CSDN/CSDN 指数.xlsx
: 开源项目关键词在 CSDN 内容社区的指数变化趋势,以月为单位;该数据主要用于计算项目排行榜 -
data/CSDN/repo-commit-rank.csv
:开源项目的提交排行榜(按邮箱);该数据用于爬虫抓取全部提交用户的 GitHub 用户信息 -
data/CSDN/repository_commit_events_20200930_analysis_new-demo.csv
: 全部 5000 + 开源项目的 commit 提交记录按项目/按邮箱的汇总表,完整数据会导入到数据仓库中;该数据用于计算 Top 项目的用户贡献排行(个人用户&公司用户) -
data/CSDN/commit_analysis.csv
: 全部 5000 + 开源项目最近24个月2020-10-1 ~ 2022-09-30
的基于全部 commit 历史记录 汇总的 author_email 提交次数记录
PingCAP 数据
PingCAP 数据主要用于计算项目排行榜
-
data/PingCAP/项目活跃度变化.csv
:开源项目按月为单位统计的 push 次数、新增 PR 数、新增 Issue 数以及这 3类事件的除重用户数 -
data/PingCAP/项目受欢迎度变化.csv
:开源项目按月为单位统计的新增 Star 数和新增 Fork 数 -
data/PingCAP/近24个月的活跃数据总数.csv
: 开源项目近 24 个月的活跃指标数据总数,包括总的 push 次数、总的新增 PR 数、总的新增 Issue 数以及这 3类事件的除重用户数
项目列表
-
data/RepoType.xlsx
:开源项目列表 -
data/RepoType-OSChina.xlsx
:开源项目列表的国别分类数据;该数据用于辅助区分项目的类型,包括国际主流开源项目、国内发起的国际开源项目以及主要在国内活跃的开源项目
GitHub 用户数据
-
data/GitHub/UserInfo.xlsx
: GitHub 用户信息;该数据用于通过UserInfo
中的company
&location
字段来辅助判断用户的所属公司信息 以及 用户的地区信息(国外开发者 & 中国(含城市)的开发者)
数据处理流程
报告出品方
- CSDN
- GitCode
- PingCAP
- 北京大学软件与微电子学院 荆琦博士及其团队
1
项目简介
开源项目开源指数报告
- 文件大小 161.0 MB
- 仓库大小 161.6 MB
- Pages http://csdn.gitcode.host/1024-report