专家分享选择开源和自研道路上的考量以及具体的业务案例,点击查看 了解详情
写点什么

建设桌面操作系统根社区,统信软件深度社区有哪些硬思考?

  • 2022 年 5 月 27 日
  • 本文字数:3793 字

    阅读完需:约 12 分钟

建设桌面操作系统根社区,统信软件深度社区有哪些硬思考?

5 月 18 日,以“根深繁茂,源创无限”为主题的“打造立足中国、面向全球的桌面系统根社区 deepin”线上发布会成功举办。会上,统信软件宣布,将以深度(deepin)社区为基础,建设立足中国、面向全球的桌面操作系统“根社区”。

 

深度(deepin)社区是由统信软件全资子公司武汉深之度科技于 2008 年发起,以桌面操作系统为主的开源社区。

 

此前,深度社区基于 Ubuntu 作为上游社区。自 2015 年开始,深度社区放弃基于 Ubuntu 作为上游,而选择了 Ubuntu 的非商业上游社区 Debian 作为研发的基础。2022 年,根据深度社区全新的战略规划,将脱离 Debian 社区,研发全新架构的 deepin V23 版本,建设中国桌面操作系统根社区。

 

为什么我们需要建设自己的操作系统根社区?统信在建设操作系统根社区上有哪些布局与规划?如何破局开源供应链安全与生态难题?对于这些问题,日前,深度社区创始人、统信软件总经理刘闻欢,深度社区负责人、统信开源社区中心总经理王耀华在接受 InfoQ 在内的少数几家媒体采访时给出了他的答案。

建设桌面操作系统根社区正当时

 

操作系统作为信息产业之魂,在政策的支持与市场推动下,近几年发展迅猛。其中,受疫情影响,远程办公比例上升,桌面操作系统市场也实现了快速增长。

 

数据显示,2021 年,中国 Linux 桌面操作系统出货量首次超过 5%,预计到 2025 年,中国 Linux 操作系统出货量将超过 20%,中国市场整体占有率超过 10%,中国也将成为最大的 Linux 桌面市场。此外,从技术能力和规模上看,中国主要 Linux 操作系统公司的研发人员规模,已经超过 Ubuntu、SUSE,位居全球前三。

 

与此同时,受国际形势影响,用户以及产业界开始对开源操作系统供应链安全隐患产生担忧。一旦上游开源操作系统及社区按下“暂停键”,那么下游系统安全则无法得到保证,甚至直接关系到产业的可持续发展和国家的信息安全问题。中国工程院院士沈昌祥也表示,构建安全可信的开源操作系统和中国主导的根社区,是我国网络空间安全发展的必然要求

 

“很早之前,我就认为中国必须要建设一个有影响力的桌面操作系统根社区,这也是我们这些年一直在做的事情。经过这些年的准备,加上近两年中国市场的爆发,我认为已经具备了建设桌面操作系统根社区的天时、地利、人和。”刘闻欢说道。

 

所谓 Linux 操作系统根社区,指的是从 Linux kernel 和其他开源组件而构建,不依赖上游发行版社区,同时采用开源社区运行模式的社区体系。根社区有大量的外部个人贡献者与企业参与,并且被广泛认可,衍生出不同分支或下游社区。此外,根社区还需要与各开源组件社区沟通畅通,并具备持续回馈自己的能力。

 

目前,国外主流的操作系统根社区包括 OpenSUSE、Fedora、Debian 以及 Arch,但在国内,桌面操作系统根社区的建设还处于空白状态。其中一个关键原因在于,做桌面操作系统根社区需要解决诸多挑战。

 

  • 其一,要想建设成一个真正的桌面操作系统根社区,需要采用更加开源、开放的模式,需要聚集不同角色的开发者参与进来;

  • 其二,产品技术需要具备竞争力和创新力,对桌面操作系统而言,需要做好结构性创新,才能吸引开发者积极参与;

  • 其三,重视开源人才的培养和引入,让开源社区保持长久的生命活力;

  • 最后,操作系统要能被更多的下游社区和衍生版本采用,满足不同领域、不同行业、不同用户的需求,丰富操作系统生态。

 

由此来看,建设桌面操作系统根社区任重道远,绝不是一朝一夕就能实现的。统信的做法是,以深度社区为基础,在规划路径、组织管理、代码开放、产品发布、社区运营等方面投入优势资源,打造中国主导、具有国际影响力的桌面操作系统根社区。

深度社区三年规划

 

根据深度社区的建设规划,2022 年,社区将强化开源社区基础建设,具体包括:完成深度社区组织架构搭建;建立完善的社区平台,重点加强基础设施的建设,形成过程透明环境;持续构建版本开放;尝试更多的社区联合形式,以培养人才为目标;尝试海外社区联合建设。

 

2023 年,深度社区将形成开源根社区影响力,具体包括:引入社区管理人才、专家顾问;以自然开发者流量为基础,重点加强社区运营工作;发布有影响力的产品;提升外部开发者贡献在整体开发⼯作中的占比;扩展海内外社区联合途径,形成更强大的影响力。

 

最终在 2024 年,深度社区将形成成熟的社区联合治理模型,国外社区、国外用户数量上达到数十万规模,力争在开发者数量、开源治理模式上追赶国际主流发行版社区水平,并为下一代桌面操作性系统的产品和技术创新构建良好基础。

 

据王耀华介绍,目前深度社区组织架构由管理团队和兴趣小组两大部分组成,未来将联合 20+ 所重点高校培养开源人才,招募并投入 500+ 名专职人员,夯实根社区基础建设。此外,未来将进一步发展海外分支社区,在原有的 3 个海外社区基础上,新增加拿大社区,重新启动土耳其、法国、意大利社区。

 

产品层面,将研发全新架构的 deepin V23 版本,该版本具有非依赖性包格式、现代化图形开发库和支持下一代图形显示协议、支持原子化更新,形成跨越上游、跨端协同的全新版本。

如何破局开源供应链安全与生态难题?

 

最近一段时间,开源软件供应链安全问题屡屡引发热议。从去年年末影响面巨大的 Apache Log4j2 安全漏洞事件,再到 Ubuntu、Red Hat、SUSE 在俄停服,无一不透露出开源供应链安全的重要性。

 

也因此,无论是从信息安全角度还是从信息产业发展权的角度,操作系统都需要摆脱上游依赖,从 Linux 内核、其他开源项目、自研项目组件开始,面向桌面应用场景,构建一个全新操作系统架构和开源社区。

 

“开源供应链安全是一个非常大的话题,打造操作系统根社区可以从更宏观的层面解决供应链安全的一些风险和问题。”王耀华表示,发展操作系统根社区可以直接对接到最顶级的开源社区,免去中间环节的攻击,比如不会因中间发行版断供而产生影响。

 

“从获取源代码,加工到代码包,再到构建操作系统,每个环节都有被攻击的风险。源代码有比较强的漏洞管理机制,比如每个源代码都有编号,我们根据这些编号可以扫描到它在上游已经发现,或是我们自己发现的一些安全漏洞。我们内部也有专门的安全团队做这样的事情,从源代码安全方面提供保障。”

 

在源代码管理方面,从源代码通过二进制存入的过程中,也有被篡改的风险。“我们需要实现这种可重建的自定义来解决其中的风险,并让软件包进入到我们最终的操作系统里。比如我们在每次发布过程中都会有一些 MD5 值,这是我们的哈希校验,保证生产出来的镜像经过安全团队的扫描,最终到达用户端,而不会被篡改。”王耀华介绍道。

 

而在编译环节,要想提升安全性,也需要做诸多工作。“需要加入非常多的静态检查工具,包括一些代码规范的检查工具,以及幕后测试的工具。以此来保证代码构建方面,代码的规范性和代码兼容性上没有一些逻辑上的漏洞,降低将来可能被发展成漏洞的风险。”

 

在供应链安全方面,深度社区还做过很多尝试与探索。比如,在产品安全层面,深度社区曾提出过二进制签名技术方案,虽然因种种原因没能在开源社区上线,但在商业版本统信 UOS 中成功上线,并起到了一定的防护作用。

 

“我们也引入了 SE-Linux(Security Enhanced Linux,安全增强式 Linux)这种防护机制,并在产品层面做了更多融合。未来,我们还会引入 deb 包格式,在应用跨端时可以非常现代化地做一些隐私方面的权限管控。这也是我们未来在 Linux 桌面上比较有创新性的安全思路。”王耀华说道。

 

“无生态,不 OS”。做操作系统始终无法跨越生态建设难题,而建设桌面操作系统根社区,更需要在生态上大力投入。开放原子开源基金会秘书长孙文龙曾表示,操作系统生态发展需要开放多元的社区环境、共享共建的发展机制。

 

不过,Linux 系统碎片化问题由来已久,生态割裂、应用重复开发、难以有效协同等挑战不断。

 

刘闻欢坦言,虽然过去几年统信大力投入生态建设,但从软硬件生态适配的种类和数量来看,Linux 生态和已经十分成熟的 Windows 生态相比,还是存在不小的差距。“不过,目前我们的操作系统生态建设能够满足大多数用户基本的需求,这也是我们在过去两三年中非常大的进步。”

 

而要想在生态建设上更进一步,刘闻欢认为,重点需要把握住市场和用户的需求,用户群越大,适配的工作反而越简单,市场接受的程度也越高。“在技术层面,我们也需要做一些工作,比如要在产品设计上把兼容性等技术问题解决好。我们会在 deepin V23 版本更好地解决兼容性问题,减少软硬件厂商的生态适配投入,这样才能更快地把生态建设起来。” 

写在最后

 

在刘闻欢看来,深度社区的下一步布局需要从产品端发力,做用户真正需要的产品。“在桌面操作系统领域,下一阶段的重点是要关注用户的真正需求。我们从这几年收集到的用户反馈来看,很多用户需求甚至连 Windows 都没有满足到。我们要想得到用户的认可和长期使用,需要做他们真正需要的产品。”

 

此外,还需要在保证兼容性的前提下进行创新。“很多国外基于 Linux 的桌面操作系统比较保守,多少年都不会做大的结构创新。还有一些桌面操作系统设计得比较激进,用了很多最先进的技术,但却没有得到广泛的认可和应用。我们需要思考怎样才能保证向前兼容性,并且进行结构性创新,这样才能在全球领域实现技术引领。”

 

最后,加大开源社区投入力度。“做操作系统,如果采用闭源的模式从零开始,无异于天方夜谭。没有开源社区就没有活水,我们一直以开放和开源的模式来运营社区、研发技术,吸引更多的个人贡献者与企业参与其中。”

2022 年 5 月 27 日 14:392569

评论 1 条评论

发布
用户头像
根社区,头一回听说,造词能力还是可以的。
2022 年 05 月 30 日 15:39
回复
没有更多了
发现更多内容

Go 中如何写注释

baiyutang

golang 10月日更

【Flutter 专题】23 图解自定义 Dialog 对话框

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月日更

Vue进阶(幺肆叁):如何用绝对定位(position:absolute)完美定位布局及其注意事项

No Silver Bullet

Vue 10月日更 绝对定位

从零到熟悉,带你掌握Python len() 函数的使用

华为云开发者联盟

Python 数据结构 函数 内置函数 len()

Java 面试八股文之数据库篇(三)

Dobbykim

持续测试、持续集成、持续交付、持续部署和DevOps

FunTester

持续集成 持续交付 持续测试 FunTester 持续构建

区块链的监管架构基本成型

CECBC

音视频:播放器与H.265播放探索

程序员架构进阶

视频流 播放器 10月日更 H.265

docker 系列:实践工具

yuexin_tech

模块一的命题作业

月影之臣

架构实战营

对自己深度学习方向的论文有idea,可是工程实践能力跟不上,实验搞不定怎么办?

Giant

自然语言处理 机器学习 深度学习 算法 论文

官方线索|#1024小鹏汽车科技日#如约而至!关于未来出行,你有什么想象?

搬砖人

1024我在现场

永续合约APP系统开发简介(搭建)

Prometheus 查询操作符(四) 示例合集

耳东@Erdong

Prometheus 10月日更

pygame 二次 hello world 项目感知

梦想橡皮擦

10月日更

技术分析| WebRTC开源服务器商业化过程中遇到的问题及挑战

anyRTC开发者

开源 音视频 WebRTC 服务器 实时通信

第一周作业

沐风

数字货币合约交易系统开发内容(源码)

数字货币期权交易软件系统开发内容(源码搭建)

期货合约系统APP开发简介(搭建)

一文读懂公共部门、区块链和数字太空竞赛三者之间的角色关系

CECBC

代码质量管理:SonarQube + Jenkins Pipeline配置

看山

DevOps 10月日更

👊 【Spring技术特性】采用protostuff和kryo高性能序列化框架实现RestTemplate的序列化组件

浩宇天尚

spring 序列化协议 10月日更 序列化机制

永续合约软件系统开发源码搭建

百度商业托管页系统高可用建设方法和实践

百度Geek说

架构 高可用

架构营模块一作业

GTiger

架构实战营

理解 std::declval 和 decltype

hedzr

算法 元编程 C++11 c++17 纯虚函数

【LeetCode】加一Java题解

HQ数字卡

算法 LeetCode 10月日更

Shopee ClickHouse 冷热数据分离存储架构与实践

Shopee技术团队

数据库 后端 Clickhouse 存储 S3

ZooKeeper分布式配置——看这篇就够了

牧小农

zookeeper 分布式配置

数字货币合约交易APP系统开发介绍(案例)

建设桌面操作系统根社区,统信软件深度社区有哪些硬思考?_文化 & 方法_凌敏_InfoQ精选文章