《开源生态白皮书(2020年)(79页).pdf》由会员分享,可在线阅读,更多相关《开源生态白皮书(2020年)(79页).pdf(79页珍藏版)》请在三个皮匠报告上搜索。
1、开源生态开源生态白皮书白皮书 (2020 年)年) 中国信息通信研究院中国信息通信研究院 2020年年10月月 版权声明版权声明 本白皮书版权属于中国信息通信研究院,并受法律保护。本白皮书版权属于中国信息通信研究院,并受法律保护。 转载、摘编或利用其它方式使用本白皮书文字或者观点的,转载、摘编或利用其它方式使用本白皮书文字或者观点的, 应注明应注明“来源:中国信息通信研究院来源:中国信息通信研究院”。违反上述声明者,。违反上述声明者, 本院将追究其相关法律责任。本院将追究其相关法律责任。 前前 言言 近几年开源技术快速发展,在云计算、大数据、人工智能等领域 逐渐形成技术主流, 开源技术已经成为
2、企业构建信息系统的重要选择, 国内企业参与开源生态的热情度持续提升。 本白皮书是中国信息通信研究院在开源领域发布的白皮书, 分析 国内外开源生态发展现状,梳理当前发展热点,展望未来发展趋势。 白皮书首先介绍了开源生态发展概况, 重点围绕开源布局、 开源运营、 开源治理、开源风险、行业开源等开源领域热点话题进行探讨,最后 对开源生态未来发展进行了展望。 目目 录录 一、 开源生态概述 . 1 (一)开源概念逐渐明晰 . 1 (二)开源生态以开源项目为中心构建 . 2 二、 开源生态发展现状 . 3 (一)开源数量持续攀升,我国开源覆盖全栈技术领域 . 3 (二)开源占据各领域主要市场份额,我国开
3、源应用逐年攀升 . 6 (三)开源企业数量保持稳定增长,我国企业呈现主动开源趋势 . 12 (四)开源基金会成为开源运营重要角色 . 15 (五)各行业开源生态已经形成,我国行业积极拥抱开源 . 16 (六)开源风险问题凸显,成为开源应用屏障 . 19 (七)全球开源治理理念兴起,我国初步形成开源治理模式 . 21 (八)开源配套政策正在完善,我国政策引导开源社区构建 . 22 三、开源成为企业商业布局的重要手段 . 24 (一)全球开源商业模式多样化发展 . 24 (二)全球开源企业已启动收购模式,进一步扩大用户群体 . 25 (三)我国开源企业已初步构建形成有影响力的开源项目 . 27 四
4、、全球开源基金会运营模式成熟,我国率先探索联盟运营机制 . 30 (一)良好的开源社区是形成开源代码的前提条件 . 30 (二)开源基金会运营通过知识产权托管培育开源社区 . 31 (三)我国逐步形成稳定的开源运营机制 . 34 五、传统行业逐步拥抱开源生态,我国行业用户关注开源使用 . 35 (一)工业互联网布局开源看重产业数字化新机遇 . 35 (二)电信行业由用户侧及运营商推动开源,探索产品创新 . 36 (三)政府采购行业发展开源看重公开透明 . 38 (四)金融机构开源看重产业创新力和市场布局 . 39 六、开源风险问题复杂,开源治理体系正在构建 . 41 (一)知识产权合规及安全漏
5、洞风险相对普遍 . 41 (二)开源法律和知识产权环境推动开源良性发展 . 44 (三)开源治理工具加速企业开源治理体系构建 . 45 (四)开源治理模式逐步落地 . 46 七、开源生态未来发展趋势与建议 . 47 (一)开源生态未来发展趋势 . 47 (二)我国开源生态发展建议 . 49 附录一:开源软件风险扫描 . 1 (一)许可证及合规风险 . 1 (二)安全漏洞风险 . 6 附录二:企业开源治理案例 . 11 (一)浦发银行开源治理案例 . 12 (二)中信银行开源治理案例 . 14 (三)中国银行开源治理案例 . 15 (四)中兴开源治理案例 . 16 (五)红帽开源治理案例 . 1
6、9 图图 目目 录录 图 1 开源软件与自由软件、免费软件的关系 . 1 图 2 开源生态架构图 . 3 图 3 全球开源项目数量增长趋势 . 4 图 4 GitHub 近三年开源项目数量及增长率 . 4 图 5 全球开源项目贡献者数量 . 5 图 6 中国自发开源项目分布地图 . 6 图 7 开源数据库增长趋势 . 7 图 8 Kafka 市场份额 . 7 图 9 我国企业开源软件使用情况 . 8 图 10 企业选择开源软件原因 . 9 图 11 企业开源软件应用领域 . 10 图 12 我国企业云计算开源技术应用部署规模 . 10 图 13 容器技术应用情况 . 11 图 14 企业微服务
7、框架应用情况 . 11 图 15 企业使用开源集成工具情况 . 12 图 16 Github 近三年企业数量增长趋势 . 12 图 17 Linux 基金会近十年会员数量增长趋势 . 13 图 18 我国头部科技公司近两年 GitHub 开源项目数 . 13 图 19 企业积极开源的动机 . 14 图 20 自发开源企业的开源项目规模 . 14 图 21 企业选择开源代码托管平台情况 . 14 图 22 开源服务企业拥有闭源软件情况调查 . 15 图 23 企业选择开源软件进行二次开发情况 . 15 图 24 开源代码在不同行业代码库中的数量 . 17 图 25 热门开源组件及使用比例 . 1
8、8 图 26 开源服务企业的服务对象分布情况 . 19 图 27 风险漏洞占比 . 19 图 28 美国 2012-2018 年开源项目/平台的专利诉讼案例数量 . 20 图 29 我国企业未使用开源软件的原因 . 21 图 30 企业开源治理情况调查 . 22 图 31 企业认为开源软件引入产生的风险情况 . 22 图 32 开源商业布局的四种方式 . 25 图 33 开源投资情况 . 26 图 34 电信行业开源项目 . 37 图 35 金融行业开源项目应用情况 . 41 图 36 开源治理架构图 . 47 图 37 容器运行技术领域开源许可证风险情况 . 2 图 38 容器编排技术领域开
9、源许可证风险情况 . 3 图 39 微服务框架领域开源许可证风险情况 . 4 图 40 DevOps 领域开源许可证风险情况 . 4 图 41 无服务器架构领域开源许可证风险情况 . 5 图 42 人工智能领域开源许可证风险情况 . 6 图 43 数据库领域开源许可证风险情况 . 6 图 44 容器运行技术领域开源漏洞风险情况 . 7 图 45 容器编排技术领域开源漏洞风险情况 . 8 图 46 微服务领域开源漏洞风险情况 . 9 图 47 DevOps 领域开源漏洞风险情况 . 10 图 48 无服务器架构领域开源漏洞风险情况 . 10 图 49 人工智能领域开源漏洞风险情况 . 11 图
10、50 数据库领域开源漏洞风险情况 . 11 表表 目目 录录 表 1 数据库市场情况 . 6 表 2 开源基金会会员及项目数量 . 16 表 3 我国企业在 Github 代码贡献情况 . 28 表 4 开源社区分类 . 30 表 5 电信行业开源基金会 . 37 开源生态白皮书(2020 年) 1 一、开源生态概述 (一)(一)开源概念逐渐明晰开源概念逐渐明晰 开源既是一种协作模式,也是一种特性的产品。开源形态最早出 现于上世纪六十年代,软件代码附属硬件产品以开源的形式分发。 1983 年,Richard Matthew Stallman 发起 GNU 计划,推动自由软件概 念, 成为开源软
11、件早期形态。 开源软件明确定义由 1998 年 OSI 给出, 包括十大特性,即自由再发布、源代码公开、允许派生作品、作者源 代码完整性、不能歧视任何个人或团体、不能歧视任何领域、许可证 的发布、许可证不能只针对某个产品、许可证不能约束其他软件、许 可证必须独立于技术。 从过程维度看,开源是一种分布式协作模式,从结果维度看,开 源是一种特定形态的产品, 具有公开、 可使用、 可修改、 可分发特点。 开源软件比自有软件更宽松,开源软件与免费软件无直接对应关系, 公开代码不一定是开源软件。 图 1 开源软件与自由软件、免费软件的关系 开源生产模式逐渐成为新一代软件开发模式。 随着产业数字化发 展,
12、信息技术需要满足业务场景发展需求,具有海量数据处理能力, 开源生态白皮书(2020 年) 2 快速上线迭代特点,多场景异构兼容性,传统软件封闭开发模式在创 新度、迭代速度上均存在一定限制。开源开发模式具有公开透明的特 点,有效聚集优质开发人员,形成分布式协作,推动产品快速迭代, 同时丰富企业商业模式,促进科技公司良性竞争。 (二二)开源生态以开源项目为中心构建开源生态以开源项目为中心构建 开源生态以开源项目为中心构建,依托开源社区协作形成软件、 硬件等开源项目。涉及开源贡献者、开源使用者、开源运营者、开源 服务者多重角色,包含开源治理、开源运营、开源商业布局等多个环 节,需要满足开源规则要求,
13、依托代码托管平台等基础设施构建。 微观层面开源生态依托四大角色进行有效协作。 开源生态涉及开 源贡献者、开源使用者、开源运营者、开源服务者等多个角色,企业 和个人均可参与。开源贡献者主要最初贡献开源项目的企业或个人, 目前以科技公司贡献为主;开源使用者指开源的使用主体,涉及范围 广泛;开源运营者主要指促进开源协作的主体,开源基金会项目托管 是一种成熟的开源运营模式; 开源服务者指基于开源提供商业产品或 服务的企业。对于开源贡献者和开源服务者,开源是实现商业布局的 一种途径,可将开源布局与商业产品布局进行有效结合,推动用户使 用,在应用层面有效降低边界成本,扩大用户使用范围。对于开源使 用者,开
14、源模式推动产品快速迭代,激发产品创新,丰富产业侧供应 体系,建立用户需求联动机制。 宏观层面开源生态涉及开源运营、开源治理、开源商业布局、开 源规则、基础设施等多个要素。开源运营推动开发者持续贡献开源项 开源生态白皮书(2020 年) 3 目,推动开源项目在产业用户中的使用;开源治理是针对开源引入过 程、自发开源过程、开源社区维护等方面的一套流程体系,是推动开 源生态良性发展的有效手段; 开源商业布局是将开源与自身商业模式 进行有效结合,实现商业转换的过程;开源规则包括法律环境、开源 社区规定、开源许可证等,明确开源使用分发的权利义务;开源基础 设施包括开源代码托管平台、社区网站等,支撑开源协
15、作。 图 2 开源生态架构图 二、开源生态发展现状 (一)(一)开源数量持续攀升,我国开源覆盖全栈技术领开源数量持续攀升,我国开源覆盖全栈技术领 域域 全球开源项目数量呈指数级增长。 根据全球最大开源代码托管平 台GitHub年度报告数据显示,截至2019年GitHub托管仓库已有1.4亿, 2019年新增仓库4400万个,创建第一个项目的用户比2018年增加44%, 开源生态白皮书(2020 年) 4 130万开发者对开源做出首次贡献。SourceClear调查报告指出开源项 目已呈现指数级增长趋势,2026年预计超过3亿。 数据来源:SourceClear 调查报告 图 3 全球开源项目数
16、量增长趋势 数据来源:GitHub,2019年11月 图 4 GitHub 近三年开源项目数量及增长率 活跃开源项目集中在新兴技术领域。2019年GitHub代码仓库中, 人工智能、云计算等新技术领域开源项目关注度较高,微软的源码编 辑器VSCode、 机器学习文档Azure Docs是2019年GitHub上贡献者最多 的开源项目,其次是谷歌的机器学习平台TensorFlow、容器编排平台 Kubernetes和Facebook的移动应用开发框架React Native框架。 6.7 9.4 14 40.30% 48.94% 0 0.1 0.2 0.3 0.4 0.5 0.6 0 2 4 6
17、 8 10 12 14 16 201720182019 项目数(千万)增长率 开源生态白皮书(2020 年) 5 数据来源:GitHub,2019年11月 图 5 全球开源项目贡献者数量 我国自发开源项目覆盖全栈技术领域。 我国自发开源项目涵盖底 层操作系统、物联网操作系统和编译器,中间层边缘计算、容器、中 间件、 微服务、 数据库和大数据, 上层前端开发、 移动开发和UI框架, 另外还有人工智能领域、运维和其他热门开源项目,基本覆盖目前主 要的技术领域,接近30个的开源项目已经捐赠给开源基金会,走向国 际。 数据来源:中国信息通信研究院,2020 年 6 月 备注:红框代表开源项目捐赠给开源
18、基金会 19.1 14 9.9 6.9 0 2 4 6 8 10 12 14 16 18 20 VSCodeAzure DocsTensorFlowKubernetes 贡献者数量(k) 开源生态白皮书(2020 年) 6 图 6 中国自发开源项目分布地图 (二二)开源占据各领域主要市场份额,我国开源应用开源占据各领域主要市场份额,我国开源应用 逐年攀升逐年攀升 全球基础软件领域,开源占据主要市场份额。基础软件主要包括 操作系统,数据库和中间件,操作系统可以细分为 PC 操作系统、手 机操作系统、物联网操作系统、超级电脑操作系统等,根据 Linux 年 度报告, 在操作系统领域, Linux
19、分别占据 100%的超级计算机市场和 82%的智能手机市场,桌面操作系统市场排名第二;数据库可以分为 关系型数据库与非关系性数据库, 非关系型性数据库又可以细分为文 档型数据库、图数据库、时序数据库、K-V 存储数据库等,根据 DB- Engines 数据显示,截至 2020 年 9 月全球开源数据库 182 个,已超过 商业数据库 176 个;中间件可以按照功能分为消息中间件、事务中间 件与远程过程调用 (RPC) 中间件, 根据 enlyft 数据显示, Apache Kafka 占据应用集成领域 16.5%市场份额,同类型竞品中排名第一,Seata、 Dubbo 也分别在事务中间件与 R
20、PC 领域占据领先地位。 表 1 数据库市场情况 名称 领域内排名 全市场排名 关系型数 据库(开 源占比 39.5%) MySQL 2 2 PostgreSQL 4 4 Sqlite 7 10 非关系型 数据库 文档型数据库(开源占比 80%) MongoDB 1 5 Couchbase 3 20+ 图数据库(开源占比 68.4%) 开源生态白皮书(2020 年) 7 Neo4j 1 20+ OrientDB 3 20+ 时序数据库(开源占比 80.7%) InfluxDB 1 20+ Prometheus 3 20+ K-V 存储数据库(开源占比 72.2%) Redis 1 8 memc
21、ached 4 20+ 来源:DB-Engines ,2020 年 3 月 数据来源:DB-Engines,2020 年 9 月 图 7 开源数据库增长趋势 数据来源:enlyft,2020 年 8 月 图 8 Kafka 市场份额 全球新兴技术领域,开源成为主要技术路径。云计算领域涉及虚 拟化、虚拟化管理等多个技术,以容器为代表的云原生技术路径是未 Apache Kafka(16.49%)BizTalk Server(13.52%) IBM Websphere MQ(12.88%)Oracle Fusion Middleware(9.23%) View all other top produ
22、cts 开源生态白皮书(2020 年) 8 来云计算发展趋势,根据 CNCF 调查报告,2019 年 84的公司在生 产中使用容器,其中 78%的用户使用 Kubernetes 进行容器集群管理; 大数据领域,大数据采集、大数据预处理、大数据存储及管理、大数 据分析及挖掘、大数据展现和应用等关键技术,Hadoop 是大数据存 储与管理的主要技术,根据 QYResearch 调查显示,到 2025 年全球 Hadoop 市场预计将达到 6708 亿美元, 2017-2025 年年均增长 65.6%, 亚马逊 EMR、 谷歌 Dataproc、 阿里云 E-MapReduce 和 AzureHDI
23、nsight 均选择基于 Hadoop 构建;人工智能领域涉及机器学习、知识图谱、 自然语言处理、人机交互、计算机视觉、生物特征识别、AR/VR 等技 术, 其中机器学习框架是关键技术, TensorFlow 拥有 8 万多 Fork 数, 位居同类型产品排名第一,Caffe 和 Keras 在学术界和工业界应用广 泛,三者稳居深度学习库前三名。 我国开源软件应用比例略有提升。 根据信通院调查显示, 2019 年 我国企业已经使用开源技术的企业占比为 87.4%, 比去年增长 0.7%, 暂未计划使用开源技术的企业占比为 2.3%,比去年降低 0.4%,我国 企业对开源技术的接受程度较高,使用
24、开源技术已成主流。 数据来源:中国信息通信研究院,2020 年 5 月 图 9 我国企业开源软件使用情况 开源生态白皮书(2020 年) 9 节约成本,大大缩短应用部署时间,成为我国企业选择使用开源 技术最主要的原因。有 50.8%的开源用户企业认为使用开源技术可以 节约成本,比去年增长 8.9%,认为使用开源技术可以大大缩短应用 部署时间的企业占比为 45.1%,另外自主性、可控性(30.3%)和降低 试错风险(20.7%)也是企业认为使用开源技术的两个优点。 数据来源:中国信息通信研究院,2020 年 5 月 图 10 企业选择开源软件原因 我国超半数企业使用开源软件应用于数据库方向。 企
25、业在数据库 方面对开源软件的使用比例最高,占比为 58.7%,其次企业对大数据 和存储的开源软件使用占比也均超过五成,分别为 52.4%和 51.2%, 另外有 48.4%的企业在网络方面使用开源软件,有 46.3%的企业选择 在云计算方面使用开源软件。 开源生态白皮书(2020 年) 10 数据来源:中国信息通信研究院,2020 年 5 月 图 11 企业开源软件应用领域 我国云计算领域已普遍应用云计算开源技术。 据中国信通院调查, 云计算开源解决方案部署虚拟服务器的个数在 500 以内的企业占比 最高, 达到 33.5%, 虚拟服务器个数在 500 个以上的企业占比 25.8%, 还有 3
26、5.4%的企业已少部分试用部署虚拟服务器。 数据来源:中国信息通信研究院,2020 年 5 月 图 12 我国企业云计算开源技术应用部署规模 我国超过七成的企业已经应用开源容器技术。据调查,40.7%的 企业已经使用了容器技术,相比 2018 年提高了 4.3%;其次,正在测 试容器技术应用环境的企业占比达到 32.3%,比去年减少 1.9 个百分 点。此外,还有 19.1%的企业正在评估容器技术。 开源生态白皮书(2020 年) 11 数据来源:中国信息通信研究院,2020 年 5 月 图 13 容器技术应用情况 微服务领域以开源技术路径为主, 我国超过六成企业已经应用或 正在测试微服务框架
27、。在对企业微服务框架使用情况的调查中发现, 24.8%的企业已经应用微服务框架,相比 2018 年提高 2.0%;其次, 正在测试环境的企业占比达到 34.4%, 与去年相比提高 2.8%; 此外, 还有 27.6%的企业正在评估微服务框架。 数据来源:中国信息通信研究院,2020 年 5 月 图 14 企业微服务框架应用情况 Jenkins是目前我国企业使用最广泛的开源集成工具。 调查发现, 在诸多开源集成工具中, Jenkins 的使用比例最高, 达到 36.8%; 其次, 分别有 32.9%和 21.1%的企业表示已经应用 TeamCity 和 GitLab CI。 此外,使用 Go C
28、D 的企业占比为 9.2%。 开源生态白皮书(2020 年) 12 数据来源:中国信息通信研究院,2020 年 5 月 图 15 企业使用开源集成工具情况 (三三)开源企业数量保持稳定增长,我国企业呈现主开源企业数量保持稳定增长,我国企业呈现主 动开源趋势动开源趋势 全球参与开源生态的企业数量激增。 全球企业一方面积极参与开 源代码贡献,开源代码托管是开源协作的必要条件,截至 2019 年 12 月 GitHub 参与的企业数接近 300 万;另一方面积极跟进开源组织, 开源基金会是开源运营的一种模式, 目前 Linux 基金会企业会员数超 过 1500,是 5 年前会员数的 5 倍。 数据来
29、源:GitHub,2020 年 7 月 图 16 Github 近三年企业数量增长趋势 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 50 100 150 200 250 300 350 2016201720182019 企业数(万)增长率 开源生态白皮书(2020 年) 13 数据来源:GitHub,2020 年 7 月 图 17 Linux 基金会近十年会员数量增长趋势 我国企业近年开源热度提升。近两年来,我国头部科技公司贡 献大量开源项目,百度、阿里、腾讯和华为等企业开源数量连年增 长。 数据来源:公开数据整理,2020 年 7 月 图 18 我国头部科技公司近两年 G
30、itHub 开源项目数 技术共建是我国企业参与开源的主要动机。根据信通院调查, 60.7%的企业希望通过建设开源生态的方式影响共建技术,实现产品 的完善与提升,其次,有 41.4%的企业希望能借助开源项目扩大企业 名气。 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% 80.00% 0 200 400 600 800 1000 1200 1400 1600 1800 会员数增长率 0 200 400 600 800 1000 1200 1400 1600 百度阿里腾讯华为 国内头部科技公司GitHub上的开源项目 数量情况 2019
31、年3月2020年3月 开源生态白皮书(2020 年) 14 数据来源:中国信息通信研究院,2020 年 5 月 图 19 企业积极开源的动机 大范围发起开源的企业仍占少数。信通院调查发现,我国自发开 源企业中,开源项目数量小于 10 个的企业占比为 40.1%,仅有 4.4% 的企业开源项目数量超过 100 个。 数据来源:中国信息通信研究院,2020 年 5 月 图 20 自发开源企业的开源项目规模 GitHub 成为我国自发开源企业首选的开源代码托管平台。对开 源自发企业调查发现, 企业开源项目时最多考虑的代码托管平台是美 国公司运营的 GitHub, 比例高达 46.1%, 其次选择的代
32、码托管平台是 中国公司运营的 Gitee, 占比为 32.8%, 另外还会考虑的开源代码托管 平台是 GitLab(美国公司运营)和 Coding(中国公司运营) 。 数据来源:中国信息通信研究院,2020 年 5 月 图 21 企业选择开源代码托管平台情况 超六成开源服务企业提供闭源软件。调查的开源服务企业中,有 开源生态白皮书(2020 年) 15 67.4%的企业拥有基于开源软件的闭源软件,说明开源服务企业提供 开源服务时大多通过售卖封装好的闭源软件创造商业价值。 数据来源:中国信息通信研究院,2020 年 5 月 图 22 开源服务企业拥有闭源软件情况调查 云计算和数据库是开源服务企业
33、的两大热门领域。调查显示, 2019 年中国开源服务企业中 51.9%是基于云计算领域的开源软件进 行二次开发提供开源服务,有 47.8%的产品是基于数据库领域的开源 软件进行二次开发,此外网络(28.8%)和人工智能(26.3%)类开源 软件也是开源服务企业进行二次开发主要选择的两个领域。 数据来源:中国信息通信研究院,2020 年 5 月 图 23 企业选择开源软件进行二次开发情况 (四)开源基金会成为开源运营重要角色(四)开源基金会成为开源运营重要角色 目前主流的开源基金(Linux 基金会、Apache 基金会等)是在美 国国税局注册的 501(c)(3)或 501(c)(6)非盈利机构, 近年来开源基金会 开源生态白皮书(2020 年) 16 会员数及托管项目数不断扩充,我国企业积极参与国际开源基金会。 表 2 开源基金会会员及项目数量 开源基金会开源基金会 会员数会员数 托管项目数托管项目数 中国会员数中国会员数 中国项目中国项目 数数 Linux基金会基金会 (不包括子基金会) 607 100 28 15 Apache基金会基金会 55 350 4 11 OpenStack基金会基金会 14