写点什么

生机与危机:中国开源应用现状及开源风险

  • 2019-11-07
  • 本文字数:2390 字

    阅读完需:约 8 分钟

生机与危机:中国开源应用现状及开源风险

2019 年 11 月 2 日-3 日,由开源社主办的2019中国开源年会在华东师范大学正式召开。据了解,这次年会共有百余位国内外的开源贡献者会聚一堂,一起探讨开源的现在和未来发展。



2019 开源年会部分讲师合影


1991 年,Linus Torvalds 写下第一份 Linux 开源邮件的时候,估计他怎么也不会想到现在开源的“燎原之势”。据 Gartner 调查显示,99%的组织正在其组织系统中使用了开源软件,新兴技术领域开源技术应用尤其广泛。而根据 ASF 的数据显示,开源经验不足一年的开源贡献者在 ASF 中占据了大多数,占比达到了 64.3%。

中国开源现状

如果我们把目光聚焦到中国,开源同样开展得如火如荼。


根据 GitHub 的相关数据显示,从 2017 年到 2018 年开源发生了规模级的攀升,开源人员从 2400 万上升为 3000 万+,企业和组织从 150 万上升为 200 万+,代码库 6000 万上升为 9600 万+。而中国截止 2018 年,成为了 GitHub 贡献排名第二的国家,排名仅此于美国。


在开源项目方面,中国自主研发的开源项目也得到了一定的市场关注。目前,国内共有 22 个项目贡献给了国际顶级基金会,包括 Linux 基金会、Apache 基金会等,目前成功毕业的项目有 9 个,包括Kylin、HAWQ、Eagle、CarbonData、RocketMQ、Griffin、 SOFAStack 、Caliper、TiDB。


除了向开源基金会捐赠项目,国内企业也在积极和国际开源基金会合作。中国在 Linux 基金会共有 1 家白金会员,27 家黄金会员,在 Apache 基金会有 1 家白金会员,1 家黄金会员和 2 家白银会员,在 OpenStack 基金会有 2 家白金会员,7 家黄金会员。


在商业模式方面,中国厂商渐渐摸索两条比较成熟、稳定的道路。一是提供基于开源项目的商业解决方案,例如阿里、腾讯、华为等;二是开源服务模式,将社区版本的开源项目打包测试通过订阅模式、按需收费提供给用户。

开源应用现状

中国开源项目开展得红红火火,那么实际应用情况如何呢?为了解开这个谜题,信通院调查了 24 个省,近 90 个城市的企业开源应用情况,行业覆盖包括互联网、政府、金融、医疗、软件及信息技术服务、制造、电信、交通及物流、科教文卫和能源等行业。


根据调查结果显示,超过八成的企业是认可开源技术的。在选择开源技术时,技术成熟度、功能丰富度、应用部署时间和成本是企业关心的重要因素。而缺少合适的解决方案、安全性、现有技术不够成熟是企业尚未采用开源技术的关键原因。


在具体应用时,最受企业关注的解决方案类型包括规划设计、产品选型、实施路径和运维管理;企业对开源解决方案关注的重要指标包括功能性及易用性、服务安全性、异构化系统的兼容性、技术支持能力、行业适用性等;在开源技术应用方向,企业更侧重于存储、数据分析、数据库、网络和中间件。


在项目实施时,近七成的企业会选择联合服务商共同实施。而在实施过程中面临的挑战包括历史遗留问题多导致原有应用迁移困难、异构资源池管理平台难统一、安全监管及合规要求较高、物理设备种类多等等。


在云计算领域,国内的开源项目众多,下面就详细介绍一下容器、虚拟化管理技术、微服务、自动化运维的应用情况。


在容器技术的应用方面,目前已有超过七成的企业在使用或者正在测试应用环境。企业选择容器技术的重要原因是支持快速弹性扩容和移植性强,而不使用容器的原因也很明确,缺少成功案例、迁移成本高、对相关技术不够了解。现在,容器技术应用最多的场景是运维自动化和弹性扩容,同时有近六成企业选择 Docker 作为容器运行技术。


在虚拟化技术管理方面,超过半数的企业会选择购买商业版并采用供应商的技术服务支持,其中企业应用较为广泛的两个 OpenStack 版本是 Kilo 和 Icehouse,在众多的 OpenStack 组件中,Keystone 是最受企业欢迎的。


在微服务框架方面,超过六成的企业已经应用或者正在测试微服务框架,其中 22.8%的企业已经将微服务投入生产环境,31.6%的企业正在测试环境,而 28.4%的企业正在评估是否要使用微服务。


针对 DevOps,超过三分之一的企业已经实现了系统的自动化运维。其中 Jenkins 是目前企业使用最广泛的开源持续集成工具,而超过四成的企业选择将 Ansible 作为自动化运维工具。

开源风险

前段时间,关于“开源”的新闻有很多,例如 GitHub 和 ASF 受到了美国出口法律的约束、多个开源产品更改开源协议等等。这些消息使企业在使用开源产品时变得谨慎,那么,使用开源产品在使用时到底存在哪些风险呢?



中国信通院副主任郭雪


想要回答这个问题,首先我们要理清开源的模式。中国信通院副主任郭雪从基础设施、开源主体和开源规则三个方面分析了开源模式:


  • 基础设施:代码托管平台等;

  • 开源主体:用户企业、科技企业、开源社区、产品企业、开源基金会;

  • 开源规则:开源许可证、开源社区规定;


不同的开源主体使用开源的方式会有所不同,面临的风险也会不同。如果从大的方面来看,开源风险可以分为四大类,技术及运维风险、合规及知识产权风险、安全及数据风险、管理风险。下面我们具体到不同的开源主体看看它们面临的开源风险。


如果是科技企业,面临的开源风险包括:


  • 遵守开源许可证要求;

  • 基于多个开源软件,许可证不兼容;

  • 是否基于已有开源软件,企业难以确认;

  • 使用的开源许可证知识产权界定不清晰;

  • 已有的开源软件规则存在变化;

  • 企业内部数据泄露,业务核心安全性较高的代码剥离不清;

  • 缺乏开源管理流程。


如果是产品企业,不仅面临和科技企业同样的开源风险,而且还面临独特的技术及运维风险,即技术路径寿命短、运维投入大,在安全及数据风险方面要考虑提供、使用的软件是否存在安全漏洞和缺陷。


而用户企业面临的开源风险与产品企业相差不大,只是在开源管理方面会有一些新的风险,例如引入的开源产品难以统计、没有专门的开源治理体系等。


如何避开这些风险呢?郭雪也给出了四个建议:建立开源软件评价或选型标准;进行开源许可证使用合规和开源代码检查;进行开源软件评价;梳理自发开源流程和开源引入流程。


相关阅读:


开源是项“全民工程”,揭秘开源团队的管理运作


2019-11-07 11:173222
用户头像

发布了 509 篇内容, 共 350.8 次阅读, 收获喜欢 1927 次。

关注

评论 3 条评论

发布
用户头像
中国的开源在2020年将全面爆发

2020-01-07 13:04
回复
用户头像
这篇文章好简短,要是有个详细的报告就好了。
2019-11-07 16:04
回复
get 需求!
2019-11-07 16:23
回复
没有更多了
发现更多内容

游戏夜读 | 2020周记(3.27-4.3)

game1night

关于5G RCS的产品猜想

机器鸟

消息队列Kafka - acks参数

Java收录阁

kafka

从数据闭环谈微服务拆分

松花皮蛋me

微服务

死磕Java并发编程(7):读写锁 ReentrantReadWriteLock 源码解析

Seven七哥

Java并发 读写锁 ReentrantReadWriteLock

高仿瑞幸小程序 00 准备工作

曾伟@喵先森

小程序 微信小程序 大前端 瑞幸

Java并发编程系列——锁

孙苏勇

Java Java并发 并发编程 多线程

学习来应对创业的未知

Neco.W

创业 重新理解创业

使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源

mzlogin

CDN Jekyll GitHub Pages 个人博客

程序员陪娃漫画系列——魔方

孙苏勇

程序员 生活 陪伴 漫画

经济大萧条对我的启示

Neco.W

创业 自我管理 职场 自我提升

MySQL中order by语句的实现原理以及优化手段

天堂

Java MySQL 性能优化

DDD 实践手册(2. 实现分层架构)

Joshua

设计模式 领域驱动设计 DDD 系统架构 分层架构

MySQL的死锁系列- 锁的类型以及加锁原理

程序员历小冰

MySQL

神经网络的激活函数为什么要使用非线性函数

wangkx

神经网络 激活函数

如何优雅滴在手机上跑Python代码

wangkx

Python 移动应用 手机编程

把成功过成自己的生活

子铭

成功学 生活状态

为什么正在使用的Java版本跟环境变量的版本不一致

阡陌r

Java 踩坑

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

韦小宝真的幸福吗 | Random Forest

张利东

Python 学习

InfoQ写作平台首秀,来个自我介绍

nuhcoad

个人感想

即将步入职场,忐忑而又期待的新人菜鸟

菜农阿飞

成长 新人

KubeFATE: 用云原生技术赋能联邦学习(一)

亨利笔记

人工智能 学习 FATE KUBEFATE

说出来就不灵啦

伯薇

糊涂 活在当下 享受状态 生活状态 观察者

多云的一点思考

HU

HashMap 的 7 种遍历方式与性能分析

Bruce Duan

Java 性能 hashmap 遍历

阿里巴巴Java开发手册泰山版解读

Bruce Duan

浅析 Cocoapods-Packager 实现

Edmond

ruby ios CocoaPods binary packager

南丁格尔科普

小匚

Netty 源码解析(四): Netty 的 ChannelPipeline

猿灯塔

怎样算是一个好的开发者?

水滴

开发者

生机与危机:中国开源应用现状及开源风险_开源_田晓旭_InfoQ精选文章