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

【龙年大礼】| 2023中国开源年度报告!

9f3f0525442c1dbb0e01b9dc76405a29.jpeg

49548bc078271a27a297a18ec1f14f58.jpeg

【中国开源年度报告】由开源社从 2015 年发起,是国内首个结合多个开源社区、高校、媒体、风投、企业与个人,以纯志愿、非营利的理念和开源社区协作的模式,携手共创完成的开源研究报告。后来由于一些因素暂停,在 2018 年重启了这个项目一直至今,每一年参与协作的伙伴社区/单位和志愿者以及点评的开源大咖越来越多,还有更多的忠实读者表示每年年初都期盼能看到中立、客观、多元而优质的【中国开源年度报告】。我们希望今年呈现给所有关心、热爱开源的读者们更优质的内容,也欢迎大家给予这份报告建议、意见和反馈,让我们能精益求精,欣欣向“龙”!

点击文末“阅读原文” 可阅读完整版报告哦!

2023 中国开源年度报告项目组

01

 卷首语

今年的卷首语,我花了很大的“毅力”,才抑制了自己用 ChatGPT 帮助撰写的冲动,打算还是完全靠自己手写。这其实也是整个 2023 年的趋势之一:越来越多的工作,人们都开始尝试寻求 AI 的帮助。

AI & AIGC

除了已经不再开源的 OpenAI,在 2023 年诞生了无数热门的、开源的大模型;无数热门的、开源的基于 GPT 的应用;还有 AutoGPT、LangChain、CoT、RAG 这样的新名词和新项目层出不穷。在图像生成、语音生成、代码生成等一系列 AIGC 的领域,都给人一种一日千里,恍如隔世的感觉。

从 2020 年开始的每一年的开源年报,我们都会谈到“剧变”,如果 2020~2022 年的变化,是以世界风云变化为主的话,到了 2023 年,就真的已经在 IT 技术领域,在开源生态领域,掀起滔天巨浪了。

关于全域数据

今年的中国开源年度报告,本身也有一件大事发生。就是我们首次能够将 GitHub 的数据与 Gitee 的数据放在一起,进行通盘的比较与洞察,其中的一些发现可能会打破很多人对于中国开源活跃度与贡献度的“偏见”。而这样的数据扩展,我们今后还将不断延伸,使得我们的数据源,真正不负“全域”之名。

开源社区如何应对那些最棘手的挑战?

2023 年 7 月,瑞士日内瓦成为 Linux 基金会举办的 Open Source Congress 的会议地点。这次聚会讨论了开源社区面临的紧迫问题,如网络安全、技术民族主义(techno-nationalism)的崛起、人工智能的复杂性以及日益增加的监管审查的挑战。本次会议邀请了 73 家开源组织参加,其中开源社与开放原子开源基金会,也受邀派代表,参加了日内瓦的会议。

作为一次野心勃勃的尝试,第一届开源“议会”还只是一个开始,未来还需要全世界范围内的开源人,更好的携手应对挑战。

中国这一年的开源发展究竟如何?

除开疫情结束之后的报复性反弹,也不用过多引述接下来的报告中会出现的各种统计数据,只谈个人的直观感受,那就是:外热内温。一方面外部的各种国家政策、地方政策、技术会议、社区交流,的确都非常热闹;而另一方面,在开源社区内部,尤其是开发活跃度方面,其实已经“由热转温”,增长放缓了。而且,这还不仅仅是中国的开源发展,而是全球开源发展的大趋势。

除了直观感受,还应该有客观评价。我们既不必洋洋得意,也不必闷闷不乐,更不该妄自菲薄。对于中国开源,“捧杀”与“棒杀”,都是过犹不及的做法。

回首 2023,展望 2024,我们应该期待一些什么?又应该投身于哪些方向?在一个变化太快,以至于人人都感到焦虑的时代,哪些才是我们能够把握的呢?让我们一起来探索吧!

 庄表伟

开源社理事暨执行长

2024 年 1 月 14 日

24f03b3ac087dd7704b252cd01acb130.jpeg

2023中国开源年度报告-封面

823b7c363bcc566c11226fb89b3bb834.jpeg

4cacb6a8708217915d54a0b4f268899e.jpeg

7f4b0958fa4a2fcbcbe7a8cb0c529a2b.jpeg

3ebdd8d9002508101468306a2885dd83.jpeg

d8f039fa59b201f23d37b27ea91ad5dc.jpeg

670c9f486a63efbcf060808757252176.jpeg

d1b52716d876d869edc9f3d157860268.jpeg

35d58826da0a96ee804368793f193c20.jpeg

19d77ed11db7ee1df503842b7bfafb7a.jpeg

a38c1f6909cbb969fa96080eeb375fcf.jpeg

7a205909d76371ea841b0fc026a3d0ea.jpeg

92fcc7c3655d53ac09526c54f2cbbc9c.jpeg

3e6513e96dc4c340d3e64a907ff27a52.jpeg

8764cc7d26c421af1d49cfc768e266bb.jpeg

2023中国开源年度报告-目录

(请右滑查看目录)

02

 报告预览

2023年中国开源年度报告主要由四部分组成,分别是问卷篇、数据篇、商业化篇、大事记篇。

1

问卷篇

延续自 2016 年初发布的《 2015 年中国开源社区参与调查报告》以来的传统,2023 年末,我们再次启动了中国开源社区的年度参与调查,致力于通过持续的开发者调查报告,以多维度方式呈现中国开源发展的整体状况。借助数据分析手段和调查报告等工具,我们成功绘制了一份关于 2023 年中国开源世界的地图。

本问卷篇对受访者的多个角色进行提问,旨在从各个维度深入了解社区的发展趋势。本问卷根据开源社区参与程度将受访者分为使用者、参与者、贡献者、维护者、生态运营几个角色。形成洋葱模型,层层递进。除了对所有受访者提出基础问题以外,还针对使用者、贡献者、运营者几个角色分别进行了提问。

本次调查问卷的基本信息如下:

  • 调查对象 :覆盖开发者、社区成员、贡献者、学生、政府企业管理人员

  • 调查内容 :主要涵盖个人信息、工作状况、开源社区以及开发者技术等

  • 调查方法 :以在线问卷方式搜集样本和数据,交叉对比法分析数据

  • 分发渠道 :开源社、KubeCon + CloudNativeCon + Open Source Summit China、2023 第八届中国开源年会、2023 开放原子开发者大会、2023 开源产业生态大会

  • 问题类型 :单选、多选、开放性

  • 问题数量 :43

  • 样本量 :875

以下是调查问卷摘要:

6838d395e39e9547a5898edc049acccb.jpeg

2

 数据篇

2023 中国开源年度报告以深入全面的数据洞察为基础,共分为八大部分。第一部分总体宏观洞篇,察通过对基础事件、活跃仓库、活跃用户、开源许可证和编程语言等方面的深入分析,揭示中国在全球开源生态中的全貌。第二部分 OpenRank 排行榜,提供了全球和中国各领域开源项目、企业、基金会、开发者以及协作机器人的排名,为业界提供全面系统的 OpenRank 指标信息服务。第三部分技术领域洞察篇,深入研究了各领域 Top10 榜单和项目变化情况,展示了前沿技术的发展方向和趋势。第四和第五部分为企业洞察篇基金会洞察篇,通过演变图和趋势分析,呈现了全球和中国企业、基金会在开源领域中的演化。第六部分开源项目洞察篇,深入探讨了不同项目类型、领域和主题的多样性和创新方向。第七部分开发者洞察篇,则通过对开发者类型、工作时间分布、地区分布和机器人使用情况的分析,展现了开发者群体的多样性和工作特征。第八部分案例分析篇,通过一系列有趣的案例分析,从一个侧面让读者一窥中国开源生态的蓬勃发展。整体而言,数据篇通过丰富多彩的数据洞察与分析,勾勒出中国开源生态在 2023 年的全景图。

3

 商业化篇

2022-2023 年,人工智能领域迎来了预训练大模型技术的大爆发,引发了全社会的广泛关注,并且可预见在未来将持续加深对生活、工作的影响。不难发现,在这次人工智能技术迭代的浪潮中,开源生态也为技术发展起了极大的推动作用,并且有不少开源模型以及开源项目在积极寻求商业化。但开源模型与传统的开源软件又有着众多差异。在这样的时代背景下,人工智能开源项目与开源模型的商业化发展,成为了值得深入研究与讨论的话题。

在商业化过程中,包括开源软件和开源模型在内的开源项目的安全可控性是企业用户非常关注的考量因素之一。结合当下技术发展趋势,对开源软件的安全,开源模型的可控,开源商业许可证的分析是值得关注的话题。

本章内容由云启资本投资团队撰写,今年所探讨的话题都属于较为前沿的方向,讨论中不乏一些判断与预测,笔者结合工作中与从业者的探讨和展望,提出我们的看法,若有不周到之处或不同想法,欢迎和我们探讨交流。

主要内容包括:

  • 开源源生态助力 AI 快速发展

  • 开源安全挑战

  • 开源项目资本市场情况

4

 大事记篇

中国开源年度报告的《开源大事记》篇,为什么会收录很多国际开源的新闻?因为在我们看来:这些都是中国的开源人需要关心的大事,也是正在或即将影响中国开源界的大事。

今年的开源大事记,可以说是来自各界的编辑志愿者们心尖上 2023 年的开源大事件。我们思考的大致脉络是:

  • 由全球 ”开源技术“ 的颠覆式创新,如人工智能与机器学习等,为主线,

  • 加上地缘政治态势带来的全球冲突,直接或间接地影响了 ”开源生态“ 不问西东(或东升西变)的起伏变化,

  • 从而导致了从区域、法律、贸易、社区方方面面 ”开源治理” 的范式转移,

  • 其中 “开源安全” 议题更是被视为为重中之重,

  • 挑战带来机遇,更多挑战带来更多机遇,“开源商业化” 已经成为显学与主流。2023 年虽然艰难,但是全球(包含中国)仍有大批开源初创企业前仆后继,

  • 面对这个技术、生态、治理、商业化都发生巨变的新时代,“开源教育” 承先启后,成为开创新局最重要的基石。以人工智能的颠覆式创新为例,没有高瞻远瞩的科研与高教体系的坚持投入,就不会有今天的荣景,

  • 最后的 “开源榜单与报告”,算是餐后甜点,看看 2023 年的开源榜单与报告,是否洞烛机先,预见了今后中国的开源发展?

2023 年是 AI 爆发之年,所以在任何一种类别的大事记里,都少不了 AI 的身影,诸位读者不妨纵览全盘,以获取整体的印象。

总之,我们正处在一个 AI 即将改变世界一切运作模式的前夜,期待在 2024 年的《开源大事记》再见!

03

 致谢

《2023 中国开源年度报告》的编制,一如既往,受到了众多开源界朋友、开源社志愿者和开源社顾问委员会成员们的大力支持。在此向所有参与报告制作的人员表示诚挚的感谢!感谢你们为中国开源贡献出自己的一份力量。

感谢协作开源社区/单位

  • 开源社

  • 云启资本

  • OpenDigger/X-lab

  • Gitee

  • GitLink

  • CSDN

  • 思否

感谢开源社顾问委员会专家点评

(按姓氏字⺟顺序列名)

郭雪、姜宁、蒋涛、tison、卫剑钒、余杰

感谢编写团队

[召集人]:王伟

[问卷设计]:王婕

[数据篇]:王婕、黄温瑞、唐烨男、赵生宇、伍泰炜、宁志成、张翔宇、夏小雅、张欣然、韩凡宇、娄泽华、朱志炜、毕枫林、李鸿斌

[商业化篇]:云启资本

[开源大事记]:李明康、刘天栋、梁尧、王蓉、袁滚滚、庄表伟

[报告汇总/编辑]:王婕、刘天栋、丁文昊

[设计/排版]:王萱

作者丨开源社

编辑丨王萱

2378a073e97f0eabbda27812ec3a4b28.gif

甲辰春回,辞旧迎新,开源社为您准备了一份2024龙年红包封面,封面限量30个,先到先得哦~开源社在这里祝大家龙年新春快乐,吉庆有余。

Happy New Year

9bded9a4d846c9aa45d9a555e5d2aef9.gif

相关阅读 | Related Reading

金兔迎福报、新春第一炮【2022 中国开源年度报告】!

官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021~

开源社简介

开源社(英文名称为“KAIYUANSHE”)成立于 2014 年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球,推动开源成为新时代的生活方式” 为愿景,以 “开源治理、国际接轨、社区发展、项目孵化” 为使命,旨在共创健康可持续发展的开源生态体系。

开源社积极与支持开源的社区、高校、企业以及政府相关单位紧密合作,同时也是全球开源协议认证组织 - OSI 在中国的首个成员。

自2016年起连续举办中国开源年会(COSCon),持续发布《中国开源年度报告》,联合发起了“中国开源先锋榜”、“中国开源码力榜”等,在海内外产生了广泛的影响力。

cc1d45c7981211fd29596cc8fb127d54.gif

相关文章:

【龙年大礼】| 2023中国开源年度报告!

【中国开源年度报告】由开源社从 2015 年发起,是国内首个结合多个开源社区、高校、媒体、风投、企业与个人,以纯志愿、非营利的理念和开源社区协作的模式,携手共创完成的开源研究报告。后来由于一些因素暂停,在 2018 年重启了这个…...

本地搭建three.js官方文档

因为three.js官网文档是国外的网站,所以你没有魔法的情况下打开会很慢,这时我们需要在本地搭建一个官方文档便于我们学习查看。 第一步:首先我们先访问GitHub地址 GitHub - mrdoob/three.js: JavaScript 3D Library. 下载不下来的小伙伴们私…...

【seata自动化治愈数据库问题解决方案】

wu-database-lazy-seata-cure-plus-starter 描述 针对saas 数据库隔离情况下,每次版本迭代都需要重新修改对应的数据库,对于升级与运维存在一定的难度,那么这个数据库治愈框架来了,使用场景如下 1.数据库不存在自动创建数据库 …...

Node.js之npm单独与批量升级依赖包的方式

Node.js之npm单独与批量升级依赖包的方式 文章目录 Node.js之npm单独与批量升级依赖包的方式npm查看与升级依赖包1. 单独安装或升级最新版本2. 查看依赖但不升级1. npm outdated2. npm update 3. 批量升级新版本4. npm-check-updates1. 全局安装2. ncu查看可升级的版本3. 升级依…...

66.加一

66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入&#xff…...

UI自动化之Poco常用断言方式

实际上用到的几种写断言的方式: 1.验证UI界面(断言图片是否存在,UI页面不稳定情况下,图片识别效率不高) assert_exists assert_not_exists 2.验证数值(断言传入的两个值(数字或者string)是否相等&#xff…...

c语言_实现类class的功能 实例

c语言_实现类class的功能 实例 1.需求与背景2.实例1.类的头文件 class_A.h2.类的实现 class_A.c3.引用4.编译与运行 3.总结 1.需求与背景 使用C , python语言久了, 发现 类 class写代码逻辑更方便, 简洁. 封装的API更加易用; 内核代码中, 也经常看到类似类的封装. 自己尝试实现…...

[2024]常用的pip指令

[2024]常用的pip指令 HI,这里是肆十二,好久不见,大家! 新年好! pip是Python的包管理工具,它可以用来安装、升级、卸载Python包。以下是一些常用的pip指令: 安装包: bash复制代码…...

【Java EE初阶十二】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大,但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类: 1、ServerSocket:给服务器使用的类,使用这个类来绑定端口号 2、Socket&#xf…...

Idea Git Review插件

idea git plugin 添加了一些常用的小插件 可以右键打开git bash窗口 可以右键选中文字点击baidu fanyi 可以通过搜索git用户名 指定开始时间查询某个版本自己提交的所有代码文件 可以通过点击蓝色行数,跳转到指定的改动代码块 资源地址: git-pl…...

python的turtle可以定义多个海龟对象

import turtle as t t.color(purple) t.right(10) t.fd(100) t1 t.Turtle() #t1.color(red) t1.left(10) t1.fd(100) t2 t.Turtle() #t2.color(green) t2.left(20) t2.fd(100) t3 t.Turtle() #t3.color(blue) t3.left(30) t3.fd(100) python的turtle可以定义多个海龟对象…...

LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署 介绍 LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品,与本地推理的 OpenAI API 规范兼容。 它无需 GPU,还有多种用途集成,允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等&#…...

Swift Combine 管道 从入门到精通三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二 1. 用弹珠图描述管道 函数响应式编程的管道可能难以理解。 发布者生成和发送数据,操作符对该数据做出响应并有可能更改它,订阅者请求并接收这些数据。 这…...

【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表

目录 表3-1:定点滤波器功能 表3-2:定点快速傅里叶变换(FFT)函数 表3-3:定点数学函数 表3-4:定点三角函数 表3-5:定点向量函数 表3-6:定点矩阵函数 表3-7:浮点滤波…...

蓝桥杯(Web大学组)2022国赛真题:水果消消乐

思路: 记录点击次数,点击次数为1时,记录点击下标(用于隐藏or消除)、点击种类,点击次数为2时,判断该下标所对应种类与第一次是否相同 相同:两个都visibility:hidden (占…...

LeetCode--代码详解 155.最小栈

155.最小栈 题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶…...

第6讲后端鉴权拦截器实现

后端鉴权拦截器实现 package com.java1234.interceptor;import com.java1234.util.JwtUtils; import com.java1234.util.StringUtil; import io.jsonwebtoken.Claims; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerI…...

uniapp从入门到进阶

一、了解uniapp 跨平台开发:Uniapp可以同时开发多个平台的应用,只需编写一套代码即可。开发者可以通过编写Vue组件来构建界面,通过编写JavaScript代码来实现业务逻辑。 页面和组件:Uniapp的页面和组件都是基于Vue组件的&#xff…...

CDN缓存404、403状态码

可以参考一下:浏览器缓存和 CDN 在前端的落地 事故记录: 前端发版时存在新旧两个容器,在资源替换的间隙,用户请求到的肯定是新容器的html文件,但是根据新容器的html向新静态资源发起请求,此时旧容器还没有…...

【Python网络编程之DHCP服务器】

🚀 作者 :“码上有前” 🚀 文章简介 :Python开发技术 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Python网络编程之DHCP服务器 代码见资源,效果图如下一、实验要求二、协议原理2.1 D…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...