2022 China Open Source Report
| 翻译:黄绍雅、岳扬、刘文涛、李思颖
| 编辑:胡欣元
| 设计:胡欣元
As 2022 finally came to an end, we also emerged from the challenging years of the three-year-long COVID pandemic. The new edition of the "China Open Source Annual Report" for the coming year is once again presented to all our friends. We are now at the stage where everything is ready, only waiting for the "Preface" to be written. Looking back at the prefaces of the past years' reports, reading through the upcoming report's content, and reflecting on this year's significant events and personal journeys, what can we discuss about the "annual report"?
In the 2020 report, I wrote: "Perhaps many years from now, when we look back at 2020, we will call it: the beginning of a dramatic change in the world." in the 2021 report, I also wrote, "The world is changing dramatically, and we are living in a world that is rushing in some unknown direction.” What changes can we expect to see in the year 2022? What trends can we observe in dramatic changes that do not show signs? What guesses can we make about the unknown orientation?
One interesting phenomenon is that technology, software, and open source are driving change in the world while the world is changing them. Open source is moving into the next phase of development. The era of open-source heroism is nearing dusk, and open-source led by large enterprises and foundations is becoming a reality. Readers can see the end of the story in this Annual Report for the year.
What will happen to open source in such a process?
The production of agricultural society is not about waiting for (helping) plants and animals to grow. The production of industrial society has become very large, delicate, and complex, but after all, it is still visible and tangible. In the digital world, creation, innovation, collaboration, and win-win situations need to be redefined in the grid consisting of 0 and 1. Costs, profits, and market share will also need to be recalculated. This is still a trend that has emerged in recent 20 years.
In 2022, ChatGPT emerged, AIGC is ascending, and AI has been used in various production processes. Production needs to be redefined again!
What will happen to open source in such a process?
Another significant event in 2022 is the worldwide chain reaction caused by the Russian-Ukrainian war, which cannot be avoided even in the open-source community. In a recent discussion with a friend, I expressed the opinion that: "We need to understand the real open source world to reason about how to face the real open source world?", "Any exaggerated bunker insurance that listens to the bunker in the rain, or ignores the bunker insurance in a cover-up manner, is irresponsible."
As responsible open source people, we must do our best to know and understand the real open source world and do everything we can to push it for the better, or at least keep it from sliding into the worse. With this in mind, let us usher into a new year!
Zhuang Biao Wei
2023.01.22
Starting in 2021, we introduced the "Open Source Highlights" section in our annual report. The initial idea was relatively simple: with so many significant events happening in the open source world every year, we can select and organize them and provide some commentary, which would be sufficient. However, by the time we reached 2022, things had become more challenging.
Investment Cooling Down in China's open source Business Sector
"Big Corporations" Establish Open Source Management Offices, Emphasizing Open Source Compliance and Security
Going Global: Chinese Open Source Companies Collectively Expand Overseas
Security by 2022 is a community-wide consensus, and today, open-source software is the backbone of critical infrastructure. 80% of the code used in enterprise applications comes from open-source software, and 95% of open-source vulnerabilities exist in transferable dependencies. open source security has become a big arena that will be increasingly valued by enterprises in the future.
As we look back on 2022, the world continues to struggle with epidemics, wars, and local instability. However, open source technologies continue to grow rapidly in all directions thanks to the increasing importance of open source in the industry.
SFC v. Vizio: The First GPL Enforcement Lawsuit Initiated by Consumers
GitHub Copilot: Copyright Controversy Arises from AI Training with open source Code
Nanjing Future v. Jiangsu Yunqingting: First Case in China Where Court Supports GPL Defense
China Information and Communication Research Institute (CIOT) Takes the Lead in Establishing the "Trusted Open Source Compliance Program" and Releases the "Open Source Compliance Guidelines (Enterprise Edition)"
China Electronics Technology Standardization Research Institute Leads the Completion of the Mulan OpenWorks Licenses and Open Governance Standards
Politics is Everywhere, Open Source Cannot Stand Alone
Complex Relationships Between Governments and Open Source in Various Countries
More Chinese Individuals Exerting Influence in the Open Source Community
Open Source Reports and Rankings Released, Mixed Feelings Arise
The Development of Open Source Platforms Continues to Evolve and Explore
The Current Status of Open Sourcers and the Dawn of Individual Heroism
The Data section of GitHub is divided into two parts: Macro Insights and Project Insights. The Macro Insights section explores the global GitHub log data for 2022, comprising a total of 1.26 billion entries, representing a 27% increase compared to 2021. Leveraging the metrics and annotated data from OpenDigger, we conduct analyses from various perspectives. In this chapter, we utilize the OpenRank metric proposed by X-lab to evaluate projects and create segmented rankings, including global rankings of open source projects, rankings of Chinese open source projects, rankings of Chinese developers, rankings of Chinese companies within foundations, rankings by technical domain, and rankings by project domain. The Project Insights section delves deeper into selected projects on the list using the Apache DevLake tool. Insights include project bot usage, community growth, issue feedback, and other metrics. The distribution of work hours in various communities is analyzed, and deeper metrics such as code comment coverage, static testing coverage, and code reuse are provided at a more granular level.
Introduction of Indicators
Macro Insights
Project Insight
Introduction of tools
Gitee is a code hosting platform under Open Source China, with over 10 million developers. We conducted statistical analysis on the open-source projects hosted on Gitee, mapping and interpreting the trends in programming languages and functionality distribution. We also analyzed the participation of developers in open-source projects on Gitee, aiming to provide a "local platform" perspective for observing the evolution of open source in China.
General Trends
General Language Trends
Fastest Growing Languages
Most Popular Open Source Project Domains of the Year
Most Popular Open Source Organizations of the Year
Examples of Open Source Contributions by Region
Gitee Index
In last year's annual open source report, the section on commercialization discussed the underlying drivers for the successful commercialization of open source software, possible commercialization paths for open source companies, investment criteria for open source projects, and case studies. It provided an overview of the development of commercialization in open source projects from the birth of the term "open source" in 1998 until last year, sparking lively discussions among the open source community.
Open Source Software Commercialization Enters Globalization Exploration Stage
Driving Factors of Open Source Commercialization
Capital Market Situation for Open Source Projects
Background of the Report
Important Findings
Overview of Questionnaire Results
Respondent Characteristics (392 People Interviewed)
Participation in Open Source (Total of 286 Participants)
Research on the Development of Open Source in China (Total of 392 Participants)
Gratitude to Collaborative Open-Source Communities/Organizations
Special Thanks to the Open Source Advisory Committee for their Reviews and Contributions: (Alphabetical)
Bai Huancheng
Bian Sikang
Guo Xue
Jiang Ning
Jiang Tao
Li Zhenning
Liao Yao
Ren Xudong
Wang Wei
Wang Xiaowei
Wei Jianfan
Yang Liyun
Yang Na
Convener: Wang Wei
Open Source Milestones: Zhuang Wei, Jiang Bo, Xiang Xinyong, Liang Yao, Yuan Rolling, Li Mingkang, Cai FangfangData: Zhao Jiangyu, Zhang Chenhui, Zhang Xiangyu, Li Ze⾠, Jing Xia
Commercialization: Yunqi Capital
Questionnaire Design: Zhang Xiangyu, Li Zun⻁, Zhen Zhen, Wang Jie, Zhou Yuren, Chen Yuan Sun, Yang MinOverall Report Summary / Editing: Zhang Xiangyu, Liu Tendong, Ding Nao
Design/Layout: He Jinghui, Yu Xinyue, Zhu Qingyu.Corrie, Feng Xinyi, Wang Mengzhuang
Translators: Huang Shaoya, Yang Yue, Liu Wentao, Li Siying
Click at the end of the article to read the original text View the full report in English
相关阅读 | Related Reading
金兔迎福报、新春第一炮【2022 中国开源年度报告】!
开源社简介
开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、项目孵化” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。
2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近九年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了数百家赞助、媒体、社区伙伴。
相关文章:

2022 China Open Source Report
| 翻译:黄绍雅、岳扬、刘文涛、李思颖 | 编辑:胡欣元 | 设计:胡欣元 As 2022 finally came to an end, we also emerged from the challenging years of the three-year-long COVID pandemic. The new edition of the "China Open Sourc…...

postgresql|数据库|启动数据库时报错:FATAL: could not map anonymous shared memory的解决
前言: 一个很偶然的出现的问题,因为我需要验证备份文件是否正确,因此,我在一台已启动了一个数据库实例的服务器上,依据全备的数据库文件在启动一个实例,当然,在此之前,已经修改了备…...

数字签名与数字证书
数字签名与数字证书 数字签名数字证书数字证书的原理数字证书的特点 如何验证证书机构的公钥不是伪造的 数字签名 数字签名是非对称密钥加密技术与数字摘要技术的应用,数字签名就是用加密算法加密报文文本的摘要(摘要通过hash函数得到)而生成…...

基于Jquery EasyUI JSZip FileSaver的简单使用
一、前言 在前端的项目开发中 ,下载文件压缩包是很重要的一个环节,那么怎么下载多个文件并压缩成ZIP下载呢? 二、使用步骤 1、引用库 <script type"text/javascript" src"~/Scripts/comm/jszip.min.js" ></…...

git远程一个分支对应本地两个分支推送
git远程一个分支对应本地两个分支推送 你可以使用以下命令将两个本地分支推送到远程仓库中的一个远程分支: 首先,将第一个本地分支推送到远程仓库: git push <远程仓库名称> <本地分支名称>:<远程分支名称>例如ÿ…...

SpringCloud学习—Hystrix:服务熔断
分布式系统面临的问题: 复杂分布式结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失效. 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇…...

8款常用系统镜像烧录软件
系统烧录软件是一种用于将操作系统或其他软件程序安装到嵌入式系统、嵌入式设备或存储设备中的工具。它通常用于将预先编译好的二进制文件或源代码烧录到硬件设备的非易失性存储器中,例如闪存芯片、EEPROM、EPROM或其他存储介质。系统烧录软件提供了一个便捷的方式&…...

设计模式什么情况下适合使用呢?
很多情况下设计模式是一种经过验证的解决特定问题的最佳实践。设计模式提供了一种标准化的方式来解决常见的软件设计问题,并提供了一种可重用的解决方案。设计模式可以帮助开发人员编写具有高可维护性、可扩展性和可重用性的代码。 设计模式适用于以下情况…...

Docker和K8s区别,使用场景,具体怎么使用以及详细命令
目录 一、Docker 和 Kubernetes 的区别二、Docker 的使用场景三、Kubernetes 的使用场景四、Docker 的具体使用方法五、Kubernetes 的具体使用方法 Docker 和 Kubernetes(简称 K8s) 都是容器技术领域中非常重要的工具,但它们在构建、部署和管理容器化应用程序方面发…...

K8S集群创建和管理,以及常用命令
目录 1. 安装 K8s 集群2. 创建 K8s 集群3. 管理 K8s 集群4. 维护 K8s 集群 K8s 集群 (Kubernetes Cluster) 是一个由多个节点组成的容器编排平台,它提供了一种简单、可靠、可扩展的方式来部署、管理和监控容器化应用程序。K8s 集群通常由一个或多个 Master 节点和一…...

HarmonyOS/OpenHarmony元服务开发-卡片使用动效能力
ArkTS卡片开放了使用动画效果的能力,支持显式动画、属性动画、组件内转场能力。需要注意的是,ArkTS卡片使用动画效果时具有以下限制: 以下示例代码实现了按钮旋转的动画效果: Entry Component struct AttrAnimationExample { St…...

【FusionInsight HD】FusionInsight HD 651创建集群-Yarn
FusionInsight HD 651创建集群-Yarn FusionInsight HD 651创建集群-Yarn登录FusionInsight Manager修改初始密码创建集群设置集群信息选择主机设置机架选择服务分配角色服务配置确定安装集群集群验证HDFS验证Yarn验证Zookeeper验证总结FusionInsight HD 651创建集群-Yarn 登录…...

MQ, RocketMQ, 安装
文章说明 本文主要说明RocketMQ的几种常见的安装方式。之前在工作中也用过RocketMQ,但是一直用的是测试环境上的,也没有自己动手安装过。这次专门抽了时间学习了一下。 文章目录 文章说明参考文献安装windows安装环境要求下载配置环境变量启动注意事项 …...

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集 前言相关介绍COCO格式实例分割数据集转换为YOLO格式实例分割数据集coco格式对应的json文件,以test.json为例格式转换代码,内容如下 前言 由于本人水平有限,难免出现错漏…...

借助 Mybatis 的动态 SQL 解决传参不确定问题
在上一篇的:Mybatis 操作数据库的基本 CRUD 以及查询操作详析_糊糊涂涂的博客-CSDN博客中介绍了Mybatis使用固定SQL语句操作数据,本篇介绍 Mybatis 一个强大的特性:动态SQL。 动态 SQL 解决什么问题? 那当我们要执行的业务逻辑有…...

前端框架学习-Vue(一)
Vue简介 百度百科上关于vue的词条,说vue时一款渐进式JavaScript框架, 简单来说,渐进式是一种设计理念,即在不失去当前功能的前提下,逐步添加新的特性。 说明它时一直在进行维护的。 Vue3,中使用*.vue作为文件后缀,html,…...

Elasticsearch Query DSL
Elasticsearch Query DSL 这里使用的 Elasticsearch 的版本为 7.12.1。 1、基本概念 1.1 文档(Document) ElasticSearch 是面向文档的,文档是所有可搜索数据的最小单位,例如 MySQL 的一条数据记录。 文档会被序列化成为 json 格式,保存在…...

腾讯云 CODING × K+ 峰会再次携手开启软件行业新风向
点击链接了解详情 近日,K 全球软件研发行业创新峰会在北京成功举办。腾讯云 CODING 作为云原生工具领跑者受邀参与此次峰会。会议现场,展台打卡火爆、演讲干货满满,为观众带来高质量的行业内容。 腾讯云全链路高效 开发上云实践 技术创新…...

2023年发布的25个开源大型语言模型总结
大型语言模型(llm)是一种人工智能(AI),在大量文本和代码数据集上进行训练。它们可以用于各种任务,包括生成文本、翻译语言和编写不同类型的创意内容。 今年开始,人们对开源LLM越来越感兴趣。这些模型是在开源许可下发布的,这意味…...

Istio网关Gateway 启用TLS
Istio网关Gateway概述 Istio网关Gateway是一个负责处理南北向流量的组件,它通常会暴露服务网格内部的服务,以便外部的请求能够访问到服务网格中的服务。Istio网关Gateway支持多种协议,包括HTTP、HTTPS和GRPC等。 在Istio网关Gateway中&#…...

slam建图与定位_cartographer代码阅读(7)后端约束构建
1.cartographer里的节点:当扫描匹配结束后,有新的一帧scan加入到submap中,这个扫描匹配的结果就叫做节点 global_trajectory_builder.cc // 将匹配后的结果 当做节点 加入到位姿图中auto node_id pose_graph_->AddNode(matching_result->insertio…...

Android usb 配件模式通信示例
当使用 Android 设备作为 USB 配件时,可以使用 Android 提供的 USB Accessory API 来进行 USB 通信。以下是一个简单的 Android USB 配件模式的通信例子。在本例中,我们将接收连接到 Android 设备的 USB 主机发送的数据并向 USB 主机发送响应。 首先&am…...

【Hive实战】Hive的压缩池与锁
文章目录 Hive的压缩池池的分配策略自动分配手动分配隐式分配 池的等待超时Labeled worker pools 标记的工作线程(自定义线程池)Default pool 默认池Worker allocation 工作线程的分配 锁Turn Off ConcurrencyDebuggingConfigurationhive.support.concur…...

【VUE】使用elementUI tree组件根据所选id自动回显
需求如下: 1.点击父级节点 将父级节点下children中所有id放入数组 2.点击父级下的子节点 将点击的子节点放入数组 3.取消选择父节点,将放入数组的所有子节点id删除 4.根据选择的子节点数组,匹配他所属的父节点 <el-tree:data"tre…...

RocketMQ, Dashboard, 控制台安装
文章说明 本文主要说明RocketMQ的控制台(Dashboard)的安装过程。工作中一直用的是别人装好的,这次终于自己亲手装了一遍。 由于每次都要启动三个应用,比较烦,于是我写了一键启动脚本,分享给大家。这个脚本…...

chrome解决http自动跳转https问题
1.地址栏输入: chrome://net-internals/#hsts 2.找到底部Delete domain security policies一栏,输入想处理的域名,点击delete。 3.再次访问http域名不再自动跳转https了。...

FastGithub 下载
Releases dotnetcore/FastGithub GitHub 无需安装,双击UI程序即可运行。...

TSINGSEE青犀视频安防监控管理平台EasyNVR如何配置鉴权?
视频监控汇聚平台EasyNVR是基于RTSP/Onvif协议的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求,我们也提供了丰富的API接口供…...

unittest 数据驱动DDT应用
前言 一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合。所以在测试一个接口时通常会编写多条case,而这些case除了传参不同外,其实并没什么区别。 这个时候就可以利用ddt来管理测试数据…...

素数个数——数论
题目描述 求 1,2,⋯,N 中素数的个数。 输入格式 一行一个整数 N。 输出格式 一行一个整数,表示素数的个数。 样例 #1 样例输入 #1 10样例输出 #1 4提示 对于 100% 的数据,1≤1081≤N≤108。 本题时间限制在2秒以内。 因为题目时间限制是2秒,所…...