当前位置: 首页 > news >正文

网站定制化服务低成本做网站 白之家

网站定制化服务,低成本做网站 白之家,模版建站,网站怎么做扫码微信支付摘要在开源日益重要的今天#xff0c;我们需要一份建立在全域大数据基础上的相对完整、可以反复进行推演的数据报告#xff08;报告、数据、算法均需开源#xff09;。本项目为X-lab 开放实验室团队发起#xff0c;旨在通过分析Github全网的开发者行为日志#xff0c;通过… 摘要在开源日益重要的今天我们需要一份建立在全域大数据基础上的相对完整、可以反复进行推演的数据报告报告、数据、算法均需开源。本项目为X-lab 开放实验室团队发起旨在通过分析Github全网的开发者行为日志通过数据的视角来观察全球范围内的开源现状、进展趋势、演化特征、以及未来挑战等问题除了展现目前开源世界全貌之外我们特别关注中国的开发者和企业组织在整个开源产业中的表现。本报告中使用 2019 年全年 GitHub 日志进行统计总日志条数约 5.46 亿条。关键词开源、行为数据、开发者行为、Github、数字年报1、背景2018 是“开源”的幸运数字在这一年“开源软件”从诞生开始走过了整整 20 周年。随着开源软件的日趋风靡开源已经成为一项世界性的流行运动它是人类在互联网发展进程中探索出的一种面向全球的大规模协作生产方式它以开放共享、合作共赢为宗旨有效地推进了全球化进程。开源经过形成时期、古典时代、移动时代到云开源时代的不断发展开源产业链条已经逐渐形成[1]。越来越多的中国IT企业无论是大厂还是小厂都越来越积极的投入人力物力参与开源贡献开源。开源代码代表着IT技术发展最先进的方向开源社区代表着开放的协作精神与创新的摇篮。2018 年的时候全球最大的代码托管平台 GitHub 已有 3000 万开发人员囊括 200 万家企业或组织拥有 9600 万个代码库已提交 2 亿的 pull request。而在 GitHub 发布的 2019 年年度报告中[2]开发人员则已经超过 4000 万有将近 300 万个组织帐户新创建的 repo 数超过了 4400 万个。目前的 GitHub有超过 80 的开发者来自美国以外的地区其中中国的贡献者数目仅次于美国排名第二中国的开发者 fork 并 clone 的项目比往年增加了48。近期陆续所发布的「中国开源年度报告」[3]和「中国开源项目 Grank 分析报告2019」[4]则从另外一个方面说明了开源在中国受关注的程度。这些报告要么是通过问卷调查的形式进行的数据采集要么是通过 GitHub API 定向采集的局部数据进行的分析并且报告中所利用的指标也较为单一难以准确的体现开源世界的全貌[4] [5]。国内最大的公有代码托管平台「码云」近期也推出了该平台的「 2019 年度数据报告」[6]同样也存在上述问题但很多地方还是值得参考的。我们认为一份有价值的报告必定是基于全域大数据的基础上结合专家进行关键数据的人工标注通过构建合理的分析模型才能得出一套相对完整的可以反复进行推演的数据报告报告、数据、算法均需开源。为此X-lab 开放实验室团队在这些报告的基础上试图进一步更加全面的对 GitHub 上开发者的行为数据进行分析尽量客观准确的展现目前开源世界所发生的事情特别是中国的开发者和企业组织在整个开源产业中的表现和趋势并正式发布这份「GitHub 2019 数字年报」。本报告采用 GitHub 全域事件日志进行统计分析2019 年共计 5.46 亿条并对分析出的前 1500 个项目进行人工标注挑选出中国的个人开发者和企业组织同时构建了科学合理的数学模型进行分析。更重要的是本报告所包括内容、数据、算法采取开源的方式一是方便大家进行复现本报告中的相关结论更重要的是在此基础之上的不断优化甚至二次创新。相信这样一种方式的数字报告能够给大家带来最大的价值。 2、总体宏观统计结果本次使用 2019 年全年 GitHub 日志进行统计总日志条数约 5.46 亿条相较 2018 年的 4.21 亿条增长约 29.7%。在上述开发者活跃度与项目活跃度的定义下统计得到 2019 年总活跃项目数量约 512W 个相较 2018 年的约 313W 增长约 63.6%2019 年总活跃开发者数量约 360W相较 2018 年的约 303W 增长约 18.8%。2.1 整体状态分析对于这 512W 个项目的活跃度分布如图1所示这 512W 个项目的活跃开发者人数分布如图2所示。对开发者活跃度与项目活跃度的定义参见附录部分的详细说明。图1整体项目活跃度分布图2活跃开发者人数分布上述两张图中我们使用了对数坐标事实上在所有仓库中仅有 1399 个项目的活跃度超过了 1000占总项目数量不足万分之三而参与开发者数量超过 1000 人的项目仅有 333 个可谓万里挑一。这一数据结果说明大多数项目还是处于低活跃、少参与的状态。 2.2 世界 Top 10 开发者账号 根据上述给出的活跃度定义我们对 2019 年全年活跃开发者进行了活跃度统计与排名这里给出世界活跃度 Top 10 开发者账号列表表一 世界活跃度Top10开发者账号从数据统计来看世界活跃度 Top 10 的开发者账号均为机器人账号其中 7 个账号为 GitHub App。这也可以看出开发者最常使用的自动化仓库管理、协作功能有哪些主要集中在依赖更新、自动同步上游、GitHub 学习、漏洞检测等方面。界活跃度与贡献项目数量 Top 1000 开发者列表请查询项目地址所有开发者详情可由程序脚本获取。2.3 世界 Top 10 项目根据上述给出的项目活跃度定义我们对 2019 年全年活跃项目进行了活跃度统计与排名这里给出世界活跃度 Top 10 项目的列表表二 世界活跃度Top10项目其中996.ICU 作为一个现象级开源项目大家并不陌生。2019 年 3 月 到 4 月中国程序员为抗议 996 工作制在GitHub发布了一个名为 996.ICU 的项目该项目短时间内获得超过 20 万颗星星成为最耀眼的明星项目。而活跃度最高的项目则是来自微软的跨平台代码编辑器Microsoft/vscode此外微软使用开源的方式来建设其 Azure 云平台的项目MicrosoftDocs/azure-docs排名第三显然微软在开源上的努力获得了程序员的认可。在这个TOP10排名中涉及了三个来自谷歌的项目分别是前端跨平台开发框架Flutter、容器编排系统Kubernetes以及深度学习框架TensorFlow这也进一步说明谷歌在开源上的努力和影响力获得业内的认可。2.4 中国 Top 20 项目分析我们对所有排名的项目筛选出了中国 Top 20 的项目列表如下表三中国活跃度Top20项目所有中国项目详情列表请查询项目地址如若发现错误或遗漏欢迎提交 Issue 或 PR 到 GitHub。从Top 20列表信息中我们可以看出996icu/996.ICU的综合活跃度数值远远高于其他项目数值上超过其他项目一个数量级。该项目中数值最高的指标为open issue同样超出其他项目一个数量级达到了 22080最低的指标为review comment只有 144。列表中两个比较有趣的项目是 selfteaching/selfteaching-python-camp 和 Advanced-Frontend/Daily-Interview-Question这两个项目的活跃排名分别是第 4 和第 13分别对应了教育和面试求职两个领域。这侧面反映出大众对这两个领域的需求和关注度非常高。另一个非常注目的项目是 pingcap/tidb该项目的review comment是 20 个项目中最高的达到惊人的 14913相对比之下该项属性下排名第二的 PaddlePaddle/Paddle 只有它的不到 60%而 issue comment 仅次于 996icu/996.ICUopen PR 仅次于selfteaching/selfteaching-python-camp与 PaddlePaddle/Paddle分别排名对应属性的第二与第三位。而其 608 的开发者参与数量与其他前端项目相较甚远但却有着如此高的活跃度也可以看出其社区的硬核程度之后我们会对该项目做进一步的分析。从这个列表中我们还发现在中国开源成绩比较突出的两家公司是百度和阿里。百度的深度学习平台PaddlePaddle占据了两个项目分别是核心框架Paddle和模型库Models此外开放自动驾驶平台Apollo也榜上有名。另外由百度贡献的数据可视化项目ECharts在2018年进入Apache孵化器此次榜单中ECharts排名11。咱们再来看看阿里阿里“服务于企业级产品设计体系” 的Ant-Design是蚂蚁金服采用 React 封装的一套组件库在中国范围内属最活跃的开源项目排名第二。上榜的基于Java的RPC框架Dubbo也在今年成为Apache 顶级项目。另外上榜的阿里项目还包含动态服务发现Nacos。在中国的Top 20列表中我们发现前端项目几乎占据了一半包括阿里的Ant-Design组件库由饿了么已被阿里收购前端团队开源的 Vue UI 组件库Element由有赞基于Vue构建的移动UI组件库Vant等等。这说明在国内前端群体在社区更为活跃另外前端代码一般也不太涉密因此公司在心态上更开放一些。不过这其中也有一点需要引起注意上榜的前端项目组件库居多但是缺少核心项目。2.5 repo协作关系图针对上文分析方法得出的排名前 20 的中国开源项目本文对仓库的历史 commits 记录进行挖掘。Git 仓库中的每一个 commit 记录由贡献者产生对仓库的一个或者多个文件产生影响因此对特定时段内的所有贡献者的提交记录分析能反映出了贡献者的活跃程度、协作模式以及项目社区本身的类型属性。我们通过仓库挖掘的工具对中国活跃程度排名前 20 的项目 commit 记录进行挖掘分析并做可视化展示相关数据文件参考这里。所采用的分析工具可以参考文献[7~9]。从时间维度上我们将重点放在 2019 中仓库的提交记录对于每一个仓库以单月和全年为粒度分析单个仓库的 commit 记录并将仓库的内容贡献模式以二部图的方式可视化展示。数据文件的可视化图中蓝色节点代表仓库文件红色节点代表用户节点越大表面该账号对应的用户修改的文件内容越多节点间的边的粗细反应了贡献次数。我们通过几个典型的例子来对分析结果进行说明展示。从可视化的关系图来看996.ICU项目从 3 月份开始出现提交记录且 3、4 两个月份最为活跃之后热度开始消减。该项目的网络图结构呈现出“二元”形态如图3所示即图中存在一个主要贡献者n_996Icu另一个相对较大的用户节点 ImgbotApp 为机器人账户, 网络中大多数文件内容由该账户贡献同时存在一个被频繁修改的文件 README.md多数贡献账户只对该文件做出内容贡献。其中 n_996Icu 对 README.md 之间的贡献最频繁这一点从两者之间的链接权重可以看出这个模式在该项目的3月份贡献图可以被很清晰的观察到。图4展示了该项目全年的状态同样能够观察到上述特点。图3: 996.ICU项目3月份贡献图图4: 996 .ICU全年贡献图从tidb项目的内容贡献图来看图5整个社区存在多个核心维护者他们各自维护着不同的模块周边也有大量的开发者在做出贡献。从单月的数据来看图6该社区每个月的提交修改非常频繁相较于其他项目来看tidb 以比较快的速度进行演化更新。与之相对比来看其他项目的单月贡献活跃程度及贡献者多样性远不及 tidb 项目。以 vuejs 下的两个项目vue-cli 和 vue为例在 vuejs/vue-cli 项目中从每月贡献图可以看出该项目的大部分贡献由Haoqun Jiang做出单月的主要贡献者不超过两名图7和图8。vuejs/vue 大部分贡献都是由一个账号Evan You 尤雨溪做出的该项目 4 月份之后内容贡献图呈现出许多协作孤岛的形态反映出贡献者对少量文件的修改项目变动不大。图5: tidb 2019全年贡献图图6: tidb 10月内容贡献图图7: vue 3月贡献图图8: vue 4月贡献图由此可以看出不同类型的项目他们的社区协作网络也呈现出完全不同的形态。更多顶级项目在 2019 年每月的协作网络图请查询这里。2.6 开发语言分析我们分别对世界项目活跃度 Top 1000 的项目、世界项目参与人数 Top 1000 的项目和中国开源项目统计了不同开发语言的项目数量以及使用不同开发语言进行 PushEvent 操作的开发者的数量二者相乘估计使用不同开发语言的开发者的数量。如图9和图10所示可以发现 JavaScript 使用最多。图9世界项目活跃度 Top 1000 项目开发语言统计图10: 世界项目参与人数Top 1000项目开发语言统计原因我们分析如下JavaScript 是一门直接被嵌入到 HTML 中的脚本语言是一门可以被 Web  浏览器理解的语言。它无需编译、在浏览器环境可以直接运行的特性让      JavaScript 项目在活跃度的提升上占据了优势。谷歌开发的 Angular 和 Facebook 开发的 React另外还有 Vue这些主  流前端框架都是 JavaScript 生态圈中的一部分。这几年随着行业的发展JavaScript 变得几乎”无所不能“现在基本所有的  主流互联网应用其前端都有大量的 JavaScript 代码。比如我们日常使用的邮 件、社交工具等等。此外全球项目活跃度 Top 1000 和全球项目参与人数 Top 1000 的项目中Python的使用居于第二位分析可能的原因为Python 相较于其他主流编程语言具有更好的可读性简单易学、易于维护。Python 应用范围广它自带的各种模块加上丰富的第三方模块免去了很多“重复造轮子”的工作可以更快地实现多种功能。人工智能的浪潮进一步推动了 Python 的发展很多人工智能任务以及大数据分析都会优先使用 Python 实现。在中国开发者社区中我们发现除了JavaScript外Java和Go的活跃度也很高分别排在第二、第三如图11所示。图11中国开源项目开发语言统计我们认为在服务器和移动端开发上Java 还没有真正意义上的对手可以预见Java 依旧是企业软件、大数据、电商等最核心的技术栈。Go 是谷歌开发的新一代编程语言在过去的几年里取得了很大的成功。现代的云端、网络和 DevOps 软件的很大一部分都是用 Go 编写的例如 Docker、Kubernetes、Terraform、etcd、Istio 等项目。许多公司也将它用于通用场景下的开发工作Go语言中国社区也极具活力。对比全球的开发语言排行榜我们发现中国开源项目中Python的使用与Java、Go、C相比较少。另外还值得关注的是Ruby和PowerShell在中国社区受重视的程度还不够。2.7 技术公司开源项目一览其实各大开源项目的背后基本都有科技公司的支持我们给出了一个科技公司维护的 GitHub 组织和项目列表并根据该列表计算出了科技公司所维护的开源项目在 2019 年的活跃情况与开发者参与情况结果如下表所示表四科技公司2019年开源项目活跃情况在国内企业的开源数据中我们可以看到阿里的数据几乎在所有类别里都名列第一有时甚至是其它公司之和并且在社区化 / 开放等方面也做得不错。但放到全球角度出自阿里的知名度相对较高的项目还是Apache Dubbo以及在2019年收购而来的大数据流处理框架Flink。2019年9月在杭州的云栖大会上阿里宣布贾扬清正式担任阿里巴巴开源技术委员会负责人开源将明确升级为阿里技术战略之一。AI 是百度开源最鲜明的竞争力比如PaddlePaddle和自动驾驶平台 Apollo。PaddlePaddle也是当前国内唯一开源开放的深度学习平台。华为在2019年也做了不少开源的工作推出了原生数据库 GaussDB 以及鸿蒙OS等一改保守作风。而腾讯2019年也对外宣布”已在 Github 上开源了接近 100 个项目超过 1000 个贡献者参与了开源贡献拥有超过 25 万个 Star 数腾讯目前在 Github 全球公司贡献榜上排名前十“于2019年6月份发布了开源战略路线图另外Angel开源项目也已毕业成为Linux AI基金会第一个来自中国的顶级项目相信未来几年会有更多惊喜。可以看出各大企业近年来均在不断加大开源社区生态建设。3、中国顶级开源项目访谈录我们对中国部分顶级的开源项目负责人进行了采访他们对当前的中国开源怎么看以及为什么他们的项目可以如此活跃社区管理和运营的技巧是什么谭中意 百度开源社区负责人, PaddlePaddle/Paddle 很高兴看到 PaddlePaddle 在中国活跃项目排行榜上活跃度比较高。这里简单介绍下 PaddlePaddle 团队的社区管理经验因为是开源项目所以坚持开放透明非常重要研发过程也需要开放透明。所以 Paddle 的日常研发全部都是在 GitHub 上进行不会存在内部版本即某些公司的开源项目在公司内部研发定期放出去一个版本。而且对于开发运营过程中开发者反馈的各个问题也都是引导他们来 GitHub 提 Issue这样有记录也有沉淀而不是在微信群里/QQ 群里回答问题导致问题不容易被记录并被后面的工程师作为参考。开放透明的研发过程对于取信于开源社区非常重要。 吴晟 apache/skywalking 2019年中国开源得到长足的进步活跃度参与人数和参与公司都大幅度的增加。总体来说有以下两个特点。 第一大厂领军。多个由中国公司发起的开源项目特别是进入Apache、Linux、CNCF等基金会项目得到国内外的广泛运用。社区多元化能力得到长足的进步。第二个人创建的项目依靠个人领袖力社区发展也能成为优秀的项目。虽然依然数量稀少但成功者非常突出甚至超过绝大多数的公司开源项目。需要补充一点的开始有一批以开源为核心的创建公司涌现出来给开源注入了不少活力和全球化的元素。但是同时不足也还十分明显目前主流且广泛使用的开源项目90%都来自于单个商业厂商但是鲜有跨公司的合作共建。让中国起步的开源项目在全球范围寻求更大范围的成功时缺少助力。同时第一梯队和其他开源团队差距正在进一步拉大顶级开源项目已经开始全面着眼国际市场而绝大多数的开源项目甚至对社区起步和项目的选择依然迷茫。最后学生作为开源项目的增长潜力对开源的认知参与热情参与能力远远低于工业界的要求和预期以及国外水平。 黄东旭 PingCAP CTO, pingcap/tidb, tikv/tikv 对于数据库产品来说要想有社区先需要有用户用户越多自然而然社区就越大。早期我们的精力放在互联网公司互联网公司采用新技术的周期短而且技术交流也更频繁另外最重要的是互联网公司是业务驱动的受商业的影响比较小比较适合初创公司或者新产品切入而且在互联网行业站稳脚跟会给社区带来一个信号这个产品是以技术取胜的另一方面互联网的公司的工程师也会成为社区的种子用户。第二个阶段是社区的治理我们有一套很完整的社区运营规则完全透明面向社区每一个 Contributor 的晋升都有一条清晰的路线图当个社区的朋友能够更好的参与。总体来说用户社区是相辅相成的。 另外我认为 TiDB 社区的成功早期有几个决定很关键选择 MySQL 协议兼容认准 MySQL 社区在扩展性问题上的痛点针对性的解决解决存在且普遍的问题。架构上高度分层保持架构的清晰让社区能够低门槛的参与。永远倾听一线用户的声音接地气说人话保持文档的齐全包括中英文。站在巨人的肩膀上积极借力各种社区例如 Etcd、RocksDB、Go 语言和 Rust 语言社区等。 4、展望GitHub 2019 数据年报作为 X-lab 的首次 GitHub 数据年报主要为大家提供了一些统计数据并简单对社区协作关系做了一些分析工作。未来X-lab 实验室将投入大量在校学生在 GitHub 数据挖掘的层面旨在基于真实数据挖掘数据背后的价值例如协作网络、社区管理、项目变迁等等也希望可以在不久的将来向社会提供这些数据分析的能力。如若发现数据错误或遗漏欢迎提交 Issue 或 PR 到 GitHub。本报告采用CC-BY-NC-ND许可协议项目地址https://github.com/X-lab2017/github-analysis-report-2019致谢X-lab开放实验室是一群由来自华东师范大学、同济大学的师生所构成的开放创新共同体专业背景包括计算机科学、数据科学及其相关跨学科长期思考并实践教育与开源两大主题。本次数字年报的主要贡献者包括赵生宇、王伟、周添一、范家宽、王皓月、夏小雅、吴绍岭、林海铭、李苗进、吴佳洁、黄立波、陈亮、杨尚辉、方孝君、陈旭刚等我们欢迎更多的开源爱好人士加入我们共同推动开源在世界的发展。参考文献[1]. 云计算开源产业联盟, 开源产业白皮书2019, 2019 云计算开源产业大会, 北京.[2]. GitHub 官方 2019 年度报, https://octoverse.github.com/[3]. 中国开源年度报告, https://kaiyuanshe.cn/project/china-open-source-report/[4]. 中国开源项目 Grank 分析报告2019, https://linux.cn/article-11755-1.html[5]. 徐川, 覃云, 中国互联网公司开源项目调研报告, https://www.infoq.cn/article/G4O6JUhJF*Tsv9eWM0L6[6]. Gitee 2019 年度数据报告, https://blog.gitee.com/2020/01/08/gitee-2019-annual/[7]. PyDriller : D. Spadini, M. Aniche, and A. Bacchelli, PyDriller: Python Framework for Mining Software Repositories, 2018.[8]. PathPy Ingo Scholtes, “Software Package pathpy,”, 2017, [Online].[9]. Git2net: C. Gote, I. Scholtes, and F. Schweitzer, git2net - Mining Time-Stamped Co-Editing Networks from Large git Repositories, 2019附录数据集及方法数据集本报告采用 GitHub 全域事件日志进行统计分析日志采集范围为 UTC 时间 2019-01-01T00:00:00Z 至 2020-01-01T00:00:00Z 共计约 5.46 亿条。关于 GitHub 事件日志相关说明请参考 GitHub 官方文档。分析方法本报告中所有数据均基于 GitHub 事件日志统计统计模型包含如下几个关键定义1开发者活跃度开发者活跃度其定义为某特定 GitHub 账号在一段时间内在某特定 GitHub 项目中的活跃评价指标。其活跃度由该账号在该项目中的行为数据决定本报告中所关心的行为包含如下几种Issue comment在 issue 中参与讨论是最基本的行为每个评论计入 1 次。Open issue在项目中发起一个 issue无论是讨论、Bug 报告或提问对项目都是带来活跃的每个发起的 issue 计入 1 次。Open pull request为项目提交一个 PR表示已对该项目进行源码贡献则每次发起一个 PR 计入 1 次。Pull reuqest review comment对项目中的 PR 进行 review 和讨论需要对项目有相当的了解并且对项目源码的质量有极大帮助每个评论计入 1 次。Pull request merged若有 PR 被项目合入即便是很小的改动也需要对项目有较为深入的理解是帮助项目进步的真切贡献则每有一个 PR 被合入计入 1 次。以上 5 个种行为在该报告模型中具有不一样的权重其加权值逐级增加加权值分别为 1、2、3、4、5即2项目活跃度项目活跃度其定义为某特定项目在一段时间内的活跃评价指标。其活跃度由该段时间内在本项目中产生活跃的开发者活跃度加权计算得到即使用开方的加权方式用于抹平因核心开发者活跃度过高而导致项目活跃度过高在该计算方式下活跃度计算方式对参与人数较多而活跃情况平均的项目更加友好。▼  ▼  ▼  ▼  ▼   ▼  ▼  ▼  ▼    X-Lab开放实验室
http://www.zqtcl.cn/news/320954/

相关文章:

  • 比格设计网站官网收录网站查询
  • 国外做直播网站淘宝电商网站怎么做的
  • 国外私人网站网站由那些组成
  • 网站备案多久通过机械设备网站
  • 企业自建站案例网站基础知识域名5个点
  • 咸宁建设网站海口市网站建设
  • 认识电子商务网站建设技术网站交换链接怎么做?
  • 定制商城网站建设全球搜索引擎排名2021
  • 徐州百度网站快速优化做网站视频图片加载不出来
  • 网站被host重定向处理浙江网新股吧
  • asp国外网站什么页游好玩
  • 高端简约30平米办公室装修广州搜索seo网站优化
  • 海口的网站建设公司wordpress二次元极简主题
  • 南京快速建站公司国家网站域名
  • 兰州装修公司哪家好网站seo推广员招聘
  • 郑州网站推广 汉狮网络易企秀类似的软件
  • 做外单网站成都网页制作公司排名
  • 成都优化网站关键词搜索引擎有哪些平台
  • 福建百川建设有限公司网站郑州手机软件开发公司
  • 盐城企业做网站多少钱88建网站
  • 南京网站制作报价wordpress主题 yusi
  • 北京建网站已备案网站新增接入
  • 做搬家服务网站问卷调查的目的房产网签是什么意思
  • 江苏品牌网站设计美团后台管理系统登录
  • 没有备案的网站会怎么样深圳的互联网公司排名
  • 阿里云 建设网站北京百度竞价托管公司
  • 怎么样做长久的电影网站安卓手机应用市场
  • 网站建设账户搭建济南网络优化哪家专业
  • 宜兴城乡建设局网站wordpress调用logo
  • 让他人建设网站需要提供的材料女生读电子商务好就业吗