README.md

    项目清单列表

    开源项目榜单

    开源项目榜单

    开源项目-个人贡献榜

    开源项目-公司贡献榜

    项目目录结构说明

    • data/ 目录下是各种中间输入数据目录
    • ranks/ 目录下是榜单数据输出目录
    • src/ 是数据获取和榜单计算源代码目录,其中榜单计算代码是:src/tasks/ranks.py

    项目配置和运行

    1. python 3 环境
    2. cd src/
    3. pip install -r requirements.txt
    4. python main.py -a tasks.ranks

    数据源

    1. Apache 基金会项目 ,GitHub Apache 组织下的所有项目,通过 GitHub API 获取,每个 Json 文件含 100 个项目;
    2. CNCF 基金会项目,GitHub CNCF 组织下的所有项目,通过 GitHub API 获取,每个 Json 文件含 100 个项目;
    3. LinuxFoundation 项目https://landscape.linuxfoundation.org/

    其它补充资料

    1. 木兰Aarch64开源生态全景平台http://armlandscape.mulanos.cn/
    2. LF AI & DATA 基金会项目https://landscape.lfai.foundation/
    3. MySQL 项目,待补充
    4. 阿里大数据开源公示榜单https://shimo.im/docs/m8AZVb0n88Hg6oAb/

    开源指数计算

    计算方法1

    计算方法 1 是通过对项目各个数据因子进行加权计算得出的一个排名结果,具体的计算规则可参考src/tasks/ranks.py

    方法 1 的结算结果详见 ranks 目录中的数据

    计算方法 2

    1. 项目的受欢迎指数 P,指标包括:项目总 Star 数(S)、项目总 Fork 数(F)、项目总 Issue 数(I)
    • P = S 0.5 + F 0.3 + I * 0.2
    1. 项目的活跃指数 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
    1. 项目的一段时间范围内的趋势,包括:
    • 受欢迎指数变化趋势,以月为单位,最近 12个月项目的平均受欢迎指数的变化趋势 b(正的趋势>1 ,减弱的趋势 <1)
    • 活跃指数变化趋势,以月为单位,最近 12个月项目的平均活跃指数变化趋势 d (正的趋势 >1 ,减弱的趋势 <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 用户信息得到不同项目的开发者排行

    数据介绍

    补充说明:

    1. 时间范围: 2020-10-1 至 2022-9-30
    2. 趋势类的数据统计是以月为单位

    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
    • 北京大学软件与微电子学院 荆琦博士及其团队

    项目简介

    开源项目开源指数报告

    发行版本

    当前项目没有发行版本

    贡献者 3

    Lab机器人 @CoCo_Code_Op9
    Miykael_xxm @xiongjiamu
    F feilong @feilong

    开发语言

    • Python 100.0 %