开源社区活跃度分析——项目总结

项目仓库地址:开源社区活跃度分析: 本仓库用于开源软件开发导论团队作业——开源社区活跃度分析 


目录

项目介绍

项目计划

建立活跃度指标评价体系

获取开源社区数据

进行数据可视化并给出分析结论

项目成果

评价体系设计

仓库数据收集

数据可视化展示

感悟&致谢


项目介绍

据 GitHub 2021 年度报告显示,目前 GitHub 用户数已超 7300 万,越来越多的开发者参与开源,积极与社区里全球开发者共同学习和创造。如何保证开源项目的持续发展,开源社区活跃度分析至关重要。

本项目最终要完成五个以上(目前完成九个)100星以上的开源社区活跃度分析。根据可行的活跃度评价指标对收集来的开源社区数据进行分析,并对结果进行可视化展示。

项目计划

建立活跃度指标评价体系

本项目之初,成员们应收集现有的开源社区活跃度分析指标体系的资料。项目组成员将主要参考CHAOSS发布的CHAOSS Matrix,并提炼出其中使用于分析开源社区活跃度的指标,从而形成本项目的开源社区活跃度指标评价体系。

获取开源社区数据

针对这些指标,项目组成员将进行数据爬取,获得对应的开源社区数据我们将针对5个以上超过100stars的开源软件社区进行数据收集,在收集开源社区数据的过程中,成员们将充分考虑到伦理问题,做到既不违反平台条例也不侵犯社区成员的隐私。

进行数据可视化并给出分析结论

对于收集到的数据,项目组利用echarts进行数据可视化,形成完整的数据可视化展示展板。我们将对数据进行汇总、整理、对比、提炼等,结合所涉及的活跃度评价指标体系,得出我们的分析结论。

项目成果

评价体系设计

从四个方面对开源社区活跃度进行考察,按照评分制度打出四个小分,最后综合这四个评分合为一个总分。分数采用分级制度,共分S、A、B、C这四个等级。在此之前,已经收集了评价所必需的数据,数据每月进行更新,统计也是以月为单位进行。

四个考察项涵盖了初步制定评价指标时的所有评价指标小项。共分为以下四个方面:

Project Velocity

社区的活跃度首先体现在社区成员的工作成果上,比如issue、pull request 以及commit的数量,在CHAOSS评价指标中,将它们统称为Project Velocity,即项目的成长速度、发展速度。而在本项目中,我们主要考察当月的数据增长。

New Comer

要评价开源社区的活跃度,自然需要考察有多少新兴力量加入了开源社区参与贡献,New Comer这一指标考察的是当期新出现的贡献者数量。

Response Time

对于开源项目社区来说,项目仓库的issue和pr是社区新加入者会首先查看的东西之一,而项目的更新日期和未解决issue的最新时间等也能非常直观的反映参与者们的活跃度。因此,本指标考察的是社区中已有的贡献者对于项目新变化的响应速度和处理速度,具体表现为issue和pr审查的第一响应时间、解决时间。

Social Activity

社区的活跃度也包含了社区交流讨论的热烈程度,对于本项目,我们主要考察了项目仓库的issue回复和comment.

仓库数据收集

仓库选取

本项目选取分析的九个仓库如下:

项目名称仓库地址
railsGitHub - rails/rails: Ruby on Rails
DBeaverGitHub - dbeaver/dbeaver: Free universal database tool and SQL client
EasyPhotosGitHub - HuanTanSheng/EasyPhotos: 兼容android11、android 10,相机拍照,相册选择(单选/多选),文件夹图片选择(单选/多选),视频选择,视频图片多类型复杂选择,各界面根据状态栏颜色智能适配状态栏字体颜色变色为深色或浅色,根据使用场景智能适配沉浸式状态栏,内部处理运行时权限,支持Glide/Picasso/Imageloader等所有图片加载框架库的带默认勾选选中图片的能填充自定义广告的自定义Ui相机相册图片浏览选择器;更有拼图/文字贴纸/贴图/图片缩放/Bitmap图片添加水印/媒体文件更新到媒体库等众多Bitmap图片编辑功能的android Bitmap图片处理工具框架库。
PaddleOCRhttps://github.com/PaddlePaddle/PaddleOCR
PyQt5GitHub - PyQt5/PyQt: PyQt Examples(PyQt各种测试和例子) PyQt4 PyQt5
LeetCodeGitHub - doocs/leetcode: 😏 LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Wechat-ChatGPTGitHub - fuergaosi233/wechat-chatgpt: Use ChatGPT On Wechat via wechaty
Matissehttps://github.com/zhihu/Matisse
OpenFaceGitHub - TadasBaltrusaitis/OpenFace: OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.

数据整理

收集的数据主要包括每个仓库的commits,PRs,issues,comments记录等,具体可参见data部分的README。目前数据量已经达到10万+

languagefilescodecommentblanktotal
JSON56101,51548,4354149,954
Python991,7881,4567153,959
Markdown61480149297
XML6470047
Properties9364527108
Batch2143623

数据可视化展示

我们分别对每个仓库的数据以月为单位进行了统计,并进行可视化,分析其动态变化情况,包括commit月增,issue月增,PR月增,comment月增等;同时我们统计了每个仓库issue平均解决时长,pr平均解决时长等,从动态数据的角度对活跃度进行分析。

最终我们对每个仓库在Project VelocityNew ComerResponse TimeSocial Activity四个方面的表现进行评级,并给出总评级。

感悟&致谢

这次项目让我们有机会去探索一个个开源项目的兴衰成败,他们之中有些仍活跃着,有些逐渐淡出贡献者们的视野。那些已经不活跃的开源项目,在无计其数的仓库中安静的存在着,参与的大门仍然敞开,但是无人问津,即使有也会石沉大海。这或许是大部分开源项目的状态,或者是归宿。从活跃逐步走向落幕,即使有些起伏,可能也是历史原因的凑巧。随着时间流逝,负责人可能已经没有精力再维护这个项目,甚至可能已经离开这个领域。但这个仓库永远在那里,它可能不完美,你也不能再从其中问出什么新玩意儿, 但它就在那里,大肆敞开自己,给后来的研究者提供一些老去又实用的经验,也在浩瀚的互联网中留下一个又一个人类创造过、研究过、 讨论过、热爱过的痕迹。不仅是项目本身的技术知识,也是开源形式、 开源精神,在社会进步中起到推动作用。

感谢本项目组成员wen-tingyu,yjlintp,lazy_ycp的共同努力,和shl老师的倾情指导。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38032.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“信息化 数字化 智能化”是三种不同的概念吗?

看到有趣的问题就想来答一答,8年ToB行业小兵来说道说道。 “信息化”、“数字化”、“智能化”从字面意义上来看,这三个词的确代表了不同的含义。但是也不可否认,在目前我们可以接触到的信息平台来看。信息化、数字化、智能化很多时候都被混…

《一》Midjourney 傻瓜式入门教程

Midjourney 傻瓜式教程-注册入门篇 Midjourney 是基于 ChatGPT 的衍生 AI 绘画工具,可以用来绘制书本内的插图,绘本,漫画,海报,头像等等。总之,只有想不到,没有做不到的图。 Midjourney上手简…

cdn原理与应用

免费的ChatGPT镜像网站 网页搜索技巧 | 西园公子的科研百宝箱 (zwjjiaozhu.top) cdn原理总结 分发 获取静态内容 CDN是Content Delivery Network的缩写,翻译成中文是内容分发网络。 简单来说,CDN是一种分布式的网络架构,它可以将互联网上的内…

最新AI创作系统V5.0.2+支持GPT4+支持ai绘画+实时语音识别输入+文章资讯发布功能+用户会员套餐

最新AI创作系统V5.0.2支持GPT4支持ai绘画实时语音识别输入文章资讯发布功能用户会员套餐! AI创作系统一、源码系统介绍二、AI创作系统程序下载三、安装教程四、主要功能展示五、更新日志 AI创作系统 1、提问:程序已经支持GPT3.5、GPT4.0接口 2、支持三种…

AIGC 及衍生工具的收费模式

OpenAI 有一系列模型,各自具有不同能力和定价。比如 GPT-4 是一个大型的多模态模型(现在接受文本输入并发出文本输出,将来会有图像输入),GPT-3.5 模型可以理解并生成自然语言或代码,DALL-E 可以根据自然语言…

最新ChatGPT商业运营版网站源码V4.8+支持AI绘画+支持用户会员套餐+邀请分佣功能+支持后台一键更新+网站后台管理+永久更新!

新ChatGPT商业运营版网站源码V4.8支持AI绘画支持用户会员套餐邀请分佣功能支持后台一键更新网站后台管理永久更新! AI付费创作系统: 如果后续程序有新版,直接在后台一键更新即可! 程序完美运行无BUG,独家开发,支持6种会…

独立站运营优化方法

一个跨境卖家出海,除了建立独立站,要考虑的核心问题是引流和转型。独立站流量从哪里来?面对多元化的海外市场,如何选择更适合品牌的引流渠道和方式? 米贸搜在与海外主流社交媒体、搜索引擎深度连接的基础上&#xff0…

房天下新房信息爬取

引言 本篇博文是对上一篇文章中存在问题的修正,上一篇文章中使用了selenium来爬取页面,效率比较低,这篇文章中,我直接使用requests库进行爬取并且增强了程序的健壮性。 思路 上一篇文章中已经分析了,这里就不重复造…

尚好房 07_前端房源展示

尚好房&#xff1a;前端房源展示 一、分页显示房源列表 1、效果 2、项目搭建 2.1 创建项目 在web项目中创建子工程web-front 2.2 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0&…

年轻人住房实录:有人住进毛坯房,有人选择二手房

NEW 关注Tech逆向思维视频号 最新视频→【男生的秋裤&#xff0c;女生的打底裤&#xff0c;哪个更抗冻&#xff1f;】 出品&#xff5c;刺猬公社 文 &#xff5c;晓含 编辑 | 石灿 毛坯房、乡下别墅、二手房&#xff0c;年轻人正在“逃离”租房。 年轻人住毛坯房成了“流行”。…

C#之DataSet和DataTable 的介绍

1.DataSet是什么 DateSet在c#程序中建立一个临时数据库 下图所示&#xff1a; 概述 可以把DataTable和DataSet看做是数据容器&#xff0c;比如你查询数据库后得到一些结果&#xff0c;可以放到这种容器里&#xff0c;那你可能要问&#xff1a;我不用这种容器&#xff0c;自…

Python北京二手房房价数据集分析

本次分析的数据集来源为链家2017年房源信息。 在数据分析的过程中,我们也可以先去理解数据,再提出问题,在探索数据的过程当中,我们往往会发现很多有趣的事情~ 1.提出问题 北京二手房的房价跟哪些因素有关呢? 2.读取数据,理解数据 导入数据分析相关工具包 %matplotlib 为魔…

Python之爬取58同城在售楼盘房源信息

上一篇博客以爬取《你好&#xff0c;李焕英》豆瓣热门短评来作为爬虫入门小案例&#xff0c;这一篇博客主要以石家庄市为例&#xff0c;爬取58同城在售楼盘房源信息&#xff0c;主要包括以下字段&#xff1a;小区名称&#xff0c;所在区&#xff0c;地址以及均价等&#xff0c;…

成都二手房房价分析-数据挖掘

PricesDataAnalysis 本项目使用jupyter notebook开发&#xff0c;主要目的是分析成都二手房房价&#xff0c;项目地址。 数据&#xff1a;爬取二手房交易网站近期数据&#xff0c;成都各个区域交易热度较高的房屋信息。 爬虫项目地址 目标&#xff1a;分析成都各区域二手房市…

爬虫+数据分析:重庆买房吗?爬取重庆房价

现在结婚&#xff0c;女方一般要求城里有套房。要了解近些年的房价&#xff0c;首先就要获取网上的房价信息&#xff0c;今天以重庆链家网上出售的房价信息为例&#xff0c;将数据爬取下来分析。 爬虫部分 一.网址分析 https://cq.fang.lianjia.com/loupan/ 下面我们来分析我…

【大数据基础】厦门租房信息分析展示

https://dblab.xmu.edu.cn/blog/2307/ 实验部分 爬虫程序 首先在工程文件夹下创建名叫rentspider的Python文件。 # -*- coding: utf-8 -*- import requests from bs4 import BeautifulSoup import csv# num表示记录序号 Url_head "http://fangzi.xmfish.com/web/searc…

Python数据分析基础 寻找出挂牌价最高的四套房,并输出相应的房源信息。

假设字典 house 存放了某小区在售二手房的房源信息&#xff08;见表 1&#xff09;&#xff0c; 试编写程序&#xff0c;实现以下功能&#xff1a; &#xff08;1&#xff09;请编写程序寻找出挂牌价最高的四套房和挂牌价最低的四套房&#xff0c;并输出相应的房源信息。 &am…

解决.net中使用gmail.com邮箱进行Smtp发送信件时失败的问题

我经常使用免费的gmail.com邮箱&#xff0c;因为它容量较大&#xff0c;但我们在使用.net编程实现邮件发送时&#xff0c;常会出现我们意想不到的错误。最常见的就是&#xff1a; &#xff08;1&#xff09;The operation has timed out. &#xff08;2&#xff09;出现类似提…

outlook登陆邮件接收服务器(POP3)失败问题

用outlook管理qq邮件时&#xff0c;可能会遇到无法登陆问题&#xff1a; 可能的错误之一是&#xff1a;在配置账号密码时&#xff0c;不是输入邮箱的登陆密码&#xff0c; 而是要输入qq邮箱中 提供的授权码&#xff1a; 这样问题即可解决&#xff01;