摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

只有越来越往上,这才是国产操作系统的出路,也是 deepin 的未来。

受访者 | 王耀华       作者 | 屠敏

出品 | CSDN(ID:CSDNnews)

国产操作系统这条路,走了 40 年,经历了傍人篱壁、铩羽而归,也立足于居安思危与当下的乘风破浪。

作为一家主流的中国 Linux 供应商,从 deepin 到 UOS,再从桌面到根社区,事关深度的最新动作,也成为众人关注的焦点所在。近日,深度 deepin 不仅带来自研软件包格式「玲珑」、开源了一门自研编程语言 Unilang,此外也在不久之前宣布将基于根社区理念全新打造 deepin 23 版本,并准备在此版本中脱离上游的 Debian,从 Linux Kernel 开始构建。

对此,我们也不禁好奇,deepin 动作频频的背后,对于国产操作系统的建设有着什么样的想法?全新自研的软件包、编程语言又该如何突围?放弃 Debian,会为 deepin 的生态带来什么样影响?怀揣着种种疑问,我们与深度开源中心社区负责人、统信桌面操作系统产线总经理王耀华进行了一场深度对话,分享稳中求变的 deepin 的蜕变之路。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

王耀华   统信软件开源社区中心负责人

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

国产操作系统迈入“好用”的初期

放眼国产操作系统的多年发展,如果以阶梯式的路线进行划分,王耀华表示:

  • 从产品体验上来看,自 2006 年核高基(核心电子器件、高端通用芯片、基础软件产品的简称)项目启动到现在信创推广,可以将国产操作系统的发展分为预研阶段、可用阶段、好用阶段三个时期。当前国产操作系统处于好用阶段的初期,在生态建设、安全体系建设、兼容性体系建设等方面还有很大的发展潜力。

  • 从技术架构上来说,国产操作系统正在从跟随阶段转入为自主创新阶段,在前一个阶段我们主要满足了产品可用的要求即可,跟随上游 Linux 社区对发展没有太大影响。如今在市场产生了好用的需求后,我们需要在系统架构、底层技术、工程能力等方面有自己的建设思路,而根社区就是这种思路的具体承载。

作为早期摸着石头过河的操作系统厂商,deepin 便是历经预研阶段和可用阶段,以及跟随阶段的创新产物。如今 deepin 的全球下载量超过了 8000 万,支持全球 33 种语言,在全球 35 个国家拥有 100 余个镜像站点。

当下,deepin 宣布即将在新版本中使用 Linux Kernel,这不是它最后一次“操刀”变革,当然,也并不是第一次。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

deepin 第一折:从 Debian 到 Ubuntu

最早或要追溯到 18 年前,那时的 deepin 还不叫 deepin,而是 Hiweed Linux。早期的 Hiweed Linux 在 0.7 版本之前主要是基于 Debian,而后从 Hiweed 1.0 开始,才改为由 Ubuntu 定制而来的版本。不过有些遗憾的是,该项目曾经因为一些原因短暂地暂停开发。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

Hiweed Linux

直到 2008 年,其正式更名为 Linux Deepin,并发布了深度操作系统的第一个版本,彼时该系统是基于 Ubuntu 进行二次开发,也可以将其视为是一个中文本土化的 Ubuntu,遵循了「免除新手痛苦,节约老手时间」的愿景。

之所以做出这样的技术选型,王耀华透露,“是因为它在快速发行和版本稳定之间取得了一定的平衡,加上背后的 Canonical 公司的推广,Ubuntu 相较于其他 Linux 发行版已经有了一定的流行度。当时 deepin 的使命主要是把 Linux 引入中国,做了一系列的本地化相关的工作,所以基于 Ubuntu 算是一个比较不错的选择。”

摸索之初,deepin 便采用了开源的方式进行。当谈及在开发者之间争议比较大的「国产操作系统是否需要从零开发」问题时,在王耀华看来,从理论上来讲,国产操作系统应该是由国人设计和开发,并且能发展出强大的自有生态,最终实现技术体系自主创新。不过,这是国产操作系统发展的最终目标。在那个 Windows、macOS 横行的时代,国产操作系统的发展肯定也会经历“站在巨人的肩膀上”阶段,这个阶段我们基于开源社区的成果,快速发展用户。

在这样的模式下,依靠开源不断扩张的 deepin,在不断地“反哺”上游开源社区的同时,也逐渐从社区团队积累了属于自己的全职开发团队。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

deepin 第二折:放弃 Ubuntu,选择 Debian

当时间来到 2014 年,可以说这是 deepin 新征程的起点。这一年,Linux Deepin 更名为 deepin,deepin 团队开发了全新深度桌面环境(DDE),还有音乐播放器、视频播放器、游戏中心、软件中心等系列软件。也是在这一年,deepin 开启了落地实施商业化的探索。

“在此之前,deepin 基本上不做商业化内容,团队清一色的研发人员”,王耀华说道,“开源文化实际上是一种技术文化,有点类似我们熟知的工程师文化,所以会有一些’理想‘的成分在里面。那时只有一个想法,做出最牛的 Linux 桌面,实际上有一点理想主义,但这是当时在国内做开源普遍的一种情况”。

后来随着公司规模的稳定,以及深入基于 Linux 技术,进行 deepin 发行版的定制, deepin 也有机会开始做一些商业化的项目时,2015 年,deepin 做了一个大胆的决定:要脱离 Ubuntu,开始基于 Debian。

这一决定的背后,有业务的需求,也有遇上痛点的无奈。王耀华表示,“有一段时间销售频繁接到电话说有些客户总是无法访问系统仓库,经过排查,我们发现原来是基于 Ubuntu 的某个仓库因为 EOL(生命周期结束)被删掉了。”

这件事情也让整个 deepin 团队意识到:系统底层掌握在别人手里是不靠谱的。于是,deepin 团队便下定决心要在下一个大版本中向更加开放和自由的上游过渡。

2015 年,在 deepin 15 中,该团队正式迁移到 Debian,采用半上游半自主维护的状态支持系统更新。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

deepin 第三折:不断向上,往 Linux Kernel 过渡

经历了 7 年的沉淀与打磨,2022 年 5 月,深度社区重磅宣布将脱离 Debian 社区,基于 Linux Kernel 打造 deepin 系统,不依赖于上游发行版。

对此,王耀华表示,“作为一个操作系统公司,对系统的架构设计和底层技术的掌控一直是 deepin 长期所追求的,所以它迟早会发生。只是最近一方面是外部环境对我们提出了更高的要求;另外一方面,我们也确实有了一些想尝试的想法,所以就在这个时间点提出了基于 deepin 社区打造中国桌面操作系统根社区的计划,想摆脱对上游 Linux 发行版的依赖,直接基于 Linux 内核和上游组件来构建 deepin 系统,在这个过程中也逐步将我们对操作系统的架构想法融入进去,实现系统结构创新。”

当然多年的积累,想要一时的“脱离”并没有想象中那么容易,挑战也无法避免,王耀华认为主要来源两个维度的压力:

  • 一个是技术层面。做根社区需要对系统底层技术有比较深厚的理解,虽然 deepin 在这么多年里面持续成长,但还是要承认对系统每个组件完全掌控是做不到的,deepin 的做法是分层分类,对于不同层级的系统组件采取不一样的态度,最核心的一定要自己吃透、次级别的做到可维护、更次一级的仍然基于开源社区成果等;

  • 另一个是期望层面。很多人对国产操作系统和根社区的期望还是比较高的,但做根社区是一个比较长的过程,比如国际上知名的 Debian 社区,早在 1993 年就基于 Linux 发行了第一个版本,发展到今天,开发者数量与质量都达到了一定的规模,短时间我们希望达到同样的状态比较有挑战。所以我们需要戒骄戒躁,继续一步一个脚印地踏实前行。

不过,截至目前,deepin 已经踏出了第一步,在今年 8 月 15 日,正式发布了 deepin 23 Preview 版本。

在这一版本中,deepin 带来了自研的独立包格式“玲珑”。之所以取这个名字,王耀华解释道,它采用了沙箱技术,就像是把应用软件放到了一个盒子中运行一样,同时我们又希望项目命名更具中国特色,很自然就联想到了“玲珑宝塔”,所以取了其中的“玲珑”二字。

简单来看,“玲珑”实际上与近几年在云计算领域非常火的容器技术有非常强的相似性,它在底层采用 Linux 内核提供的 namespace 技术,为应用运行提供了虚拟化空间,使应用运行环境可以做到自包容或者嵌入在应用和运行系统之间,最终使得应用软件的运行环境和底层操作系统相互分离,避免了传统包格式(如 rpm、deb)在应用安装、卸载时对操作系统的影响,使得应用软件和操作系统可以解耦合。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

除了“玲珑”软件包格式之外,deepin 也自研了现代的通用目的编程语言 Unilang(https://github.com/linuxdeepin/unilang),能够有效、灵活地开发桌面环境应用,统筹解决现有不足的新的方案中的语言部分。

在逐步摆脱对上游发行版的依赖之际,deepin 自身也正如王耀华及其背后的团队所希望的那番,「相信国产操作系统也会经历“完全从零开发”阶段,因为对于复杂工程来说,只有自己下场动手才可能对其完全摸透,这是我们实现技术体系自主创新的必经之路」。

据王耀华透露,今年下半年预计还会再发布 2-3 个 deepin 23 的阶段性版本,我们预期将在明年上半年可以正式与全新的 deepin 23 版本见面。

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

开源对国产操作系统带来了怎样的影响?

回看过往 18 载,开源实则贯穿了 Hiweed Linux、Linux deepin 到当前 deepin 的整个发展历程,现在随着国家政策、资本入场等影响,开源从原来的无人问津变成了“香饽饽”。

相比过去依靠闭源模式成功的 Windows、macOS 等系统而言,开源存在更多的优势,如降低开发成本、减少市场成本、提升开发效率、降低获客成本、提高伙伴互信等。不过,开源也可能存在创新跟兼容的冲突、安全性的顾虑、需要设计不同的商业模式等缺点。

王耀华认为,基础软件开源是大势所趋,开源的平台相对于闭源的更容易获得客户、生态伙伴的信任,在标准建设相对缓慢的情况下可以快速形成事实上的标准,推动平台生态建设,这对于操作系统根社区的生态建设是至关重要的。而根社区的构建,不管是基于产业视角还是从操作系统供应链安全的角度,根社区的建设都是必要的。

这也是今年 5 月,统信软件宣布,将以深度(deepin)社区为基础,建设立足中国、面向全球的桌面操作系统根社区,打造中国桌面操作系统的根系统的主要原因。王耀华表示,“基础开源软件要想走向全球化,最关键的还是要建立自身的产品优势,实现技术创新,因此如果不自己成为根,始终依靠在别的根下,对方定好框架,就只能在其基础上生长,无法更好的实现创新,走向全球。同样地,开源软件供应链安全只有从“根”上做起,才能实现信息产业长久安全的发展,只有不依托国外主导的发行版或社区,从 Linux 内核、开源项目、自研项目组件开始构建一个自主的根社区,才能掌握开源操作系统的发展权、上游社区主导权。”

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

不打无准备之仗

虽然正如上文所述,国产操作系统目前已经步入好用阶段的初期,但是要想追赶上生态、技术均已完备与成熟的系统,让根社区真正扎根生长,王耀华从以下维度分享了一些建议。

操作系统的未来走向

第一点,如今国际大厂经历了数十年的发展与积累,与国内操作系统厂商处于不同的阶段,前者有相对充足的资金去试错创新,对未来的趋势把控会更好。当前他们主要聚焦在四个方向上:一是交互创新;二是多端融合,包括 PC、手机、平板多个终端实现联动与融合;三是生态兼容,如微软的 Windows 已经在兼容 Android、Linux 的生态;四是在安全层面投入力度很大,如不少公司加码 Rust 编程语言等等。

基于以上,也是国产操作系统厂商需要不断学习,以及持续追赶和超越的方面。

在产品创新和技术实力上迅速发力

第二点,「国产替代」是一个过程,并不能一蹴而就。实际上,现在已经有不少党政机关、央企国企和个人用户在日常中使用国产操作系统。相比过往,也有越来越多的用户开始关注到国产操作系统的崛起,不久前 CSDN 发布的《2021-2022 中国开发者调查报告》中有 67% 的开发者推荐尝试使用国产操作系统的数据便证实了这一点。 

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客

毋庸置疑,国产操作系统市场发展很快,而我们真正需要解决的问题是,如何把产品创新与技术实力做好。一方面,让用户知道和了解国产操作系统的产品之后,能用得舒服、放心;另一方面,要解决用户关心的问题,洞察和满足用户的关键需求。保障操作系统在日常好用的基础上,借助“替代”的势能,达到实际使用效果与市场宣传联合。

只有这样,才能让用户认可国产操作系统。

做好人才储备

第三点,操作系统研发是技术性很强的工作,当前国内在这方面的人才非常稀缺,直接具备相应能力的人更是少之又少。

因此,站在管理者的角度来看,在进行招聘人才时,王耀华表示,更多的是看应聘者的态度和潜力,是否在产品和技术研发上有长期的追求,是否有足够灵活的头脑来应对复杂的工程问题。另外,对开源文化的熟悉程度,也是在挑选开源社区人才时额外会注意的一点。

从自身经历而言,王耀华感慨道,「做技术这么些年,我最大的感受是技术都是经验沉淀出来的,很多研发人员之所以停留在原地打转主要是不能打破舒适区,总是想“抄近道”,多年工作经验看似丰富实际上没有沉淀。我看到身边的技术牛人无一例外都是敢于解决难题,不挖到根因誓不罢休,一通百通,在这个过程中逐步达到了一般人难以企及的水平。」

— 推荐阅读 —

摆脱 Ubuntu、Debian,深度操作系统为什么转战 Linux Kernel?_CSDN资讯的博客