摆脱 UbuntuDebian,深度操作系统为什么转战 Linux Kernel?

Posted CSDN资讯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了摆脱 UbuntuDebian,深度操作系统为什么转战 Linux Kernel?相关的知识,希望对你有一定的参考价值。

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

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

出品 | CSDN(ID:CSDNnews)

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

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

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

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

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

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

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

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

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

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

deepin 第一折:从 Debian 到 Ubuntu

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

Hiweed Linux

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

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

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

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

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,采用半上游半自主维护的状态支持系统更新。

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)在应用安装、卸载时对操作系统的影响,使得应用软件和操作系统可以解耦合。

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

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

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

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

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

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

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

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

不打无准备之仗

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

操作系统的未来走向

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

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

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

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

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

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

做好人才储备

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

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

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

— 推荐阅读 —


 
☞字节跳动宣布员工福利升级:新增10天“家庭关爱假”;Google翻译中国站点疑似关闭;Qt 6.4 正式发布|极客头条
☞Istio 正式成为 CNCF 孵化项目,F-16 战斗机早部署上了?
☞不想写网课作业,17 岁少年敲代码“开挂”,结果火到了平台 CEO 面前......

以上是关于摆脱 UbuntuDebian,深度操作系统为什么转战 Linux Kernel?的主要内容,如果未能解决你的问题,请参考以下文章

杭师大教授张华:走向深度学习,需要我们摆脱控制取向的教育价值观

linux mint(UbuntuDebian) 18修改环境变量

深度探索QT窗口系统(五篇)

千呼万唤使出来——CSDN浏览器插件2.0彻底摆脱996

Linux发行版本

Git基本操作