摆脱ubuntudebian,深度操作系统为什么转战linuxkernel?(代码片段)

CSDN资讯 CSDN资讯     2022-12-02     635

关键词:

只有越来越往上,这才是国产操作系统的出路,也是 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 面前......

忘记ghost!利用win10自带功能,玩转系统备份&恢复--关于恢复的深度思考

上一篇文章讲了,系统可以正常启动,如何从D盘恢复系统到C盘的情况。如果系统不能启动,要怎么去恢复系统,恢复后会是什么结果? 先说明系统结构:系统版本:Windows10(1709)硬盘1(50GB):C盘(系统盘),D盘(数据盘),引导盘... 查看详情

(转)分布式深度学习系统构建简介distributeddeeplearning

HOMEABOUTCONTACTSUBSCRIBEVIARSS DEEPLEARNINGFORENTERPRISEDistributedDeepLearning,Part1:AnIntroductiontoDistributedTrainingofNeuralNetworks Oct3,20163:00:00AM/by AlexBlackandVyacheslavKo 查看详情

我怎样才能摆脱 CodeMirror div ?为啥我有它?

...getridofCodeMirrordiv?AndwhydoIhaveit?我怎样才能摆脱CodeMirrordiv?为什么我有它?【发布时间】:2021-12-2916:01:02【问题描述】:当我在PHP页面上工作时,突然我在没有任何操作的情况下将这部分放在了页面上。它仅出现在Chrome上。我怎样... 查看详情

用户行为的深度追踪——事件与埋点

一、什么是事件?不同于传统的页面路径跳转追踪,事件尝试追踪用户在网站或APP上发生的每一个动作(包括浏览页面)什么是事件追踪或记录的用户行为或业务过程(注册账号,登录,观看视频,点赞,评论,关注等等)事件... 查看详情

《动手学深度学习》pytorch:数据操作(代码片段)

...sor`转NumPyNumPy数组转`Tensor`2.2.6`Tensor`onGPU在深度学习中,我们通常会频繁地对数 查看详情

java内存分配和string类型的深度解析(转)

...文。  1、java内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每 查看详情

在本地硬盘安装winpe系统,实现uefi引导,摆脱u盘

  之前装系统一直用U盘装PE后再装系统,这次直接想把PE系统直接装在本地某个分区中,普通的PE制作工具只能直接装在一个硬盘里没法装在某个分区,百度发现没有一篇类似的文章,只能自己想办法了。目前的PE都支持UEFI引... 查看详情

转:智能音箱市场深度报告:怎么大家都在抢这个两亿小蛋糕?

...谨慎的态度。智能音箱市场上的主流产品都有什么思路?为什么产品丰富的情况下市场总体销售规模仍处于较低水平,有何解法?智能音箱在智能家居领域有什么潜力?本期的智能内参,我们推荐来自GfK(捷孚凯)和艾 查看详情

转:如何摆脱“我说,你听”的会议模式?

个人理解:营造强大的共享参会体验,在会议内容和参会人员之间找到平衡一次性信息和被动接收状态,不能全身心投入,不能感受到燃烧的张力-- 参与,理解,自悟要在这个反复无常、复杂模糊的世界... 查看详情

转:如何摆脱“我说,你听”的会议模式?

个人理解:营造强大的共享参会体验,在会议内容和参会人员之间找到平衡一次性信息和被动接收状态,不能全身心投入,不能感受到燃烧的张力-- 参与,理解,自悟要在这个反复无常、复杂模糊的世界... 查看详情

转:所谓美好,就是摆脱了功利之心

个人理解:在美的事物和实际人生之中维持一种适当的距离观点和态度的差别,不受实际的切身的利害牵绊,能安闲自在地玩味目前美妙的景致美和实际人生有一个距离,要见出事物本身的美,须把它摆在适... 查看详情

转:所谓美好,就是摆脱了功利之心

个人理解:在美的事物和实际人生之中维持一种适当的距离观点和态度的差别,不受实际的切身的利害牵绊,能安闲自在地玩味目前美妙的景致美和实际人生有一个距离,要见出事物本身的美,须把它摆在适... 查看详情

转:摆脱内耗,只能把“情绪”戒了吗?

个人理解:作为领导者,并不需要让每一个人都开心,应该去建立一种信任和使员工在心理上具有安全感的文化稳定自己的情绪,管理团队的情绪,而不要让愤怒影响工作效率不屑一顾、转移注意力和抵御愤... 查看详情

实践:《21个项目玩转深度学习基于tensorflow的实践详解》pdf+源代码

学习《21个项目玩转深度学习》可以在自己动手实践的过程中找到学习的乐趣,了解算法和编程框架的细节,让学习深度学习算法和TensorFlow的过程变得轻松和高效。不是给想学深度学习的初学者看的,没有详细的讲解,只有项目... 查看详情

什么是android系统深度优化、定制、开发的第三方手机操作系统

什么是Android系统深度优化、定制、开发的第三方手机操作系统什么又是“中国原创AndroidROM”定制操作系统是相对于原生操作系统来说的,某些开源的操作系统,例如Linux和Android允许终端厂商免费使用,终端厂商可以在其基础上... 查看详情

(转)深度学习主机环境配置:ubuntu16.04+nvidiagtx1080+cuda8.0

  深度学习主机环境配置:Ubuntu16.04+NvidiaGTX1080+CUDA8.0发表于2016年07月15号由52nlp接上文《深度学习主机攒机小记》,这台GTX1080主机准备好之后,就是配置深度学习环境了,这里选择了比较熟悉Ubuntu系统,不过是最新的16.04版... 查看详情

转:数据流图的画法

...是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。 数据流图的基本组成 查看详情

深度学习推荐系统领域的15个问题

深度学习推荐系统领域的15个问题转:https://zhuanlan.zhihu.com/p/1231032061.如果领导让自己同时带一个NLP团队和CV团队,而此时对CV却不熟悉,一般如何快速建立这样的多种类型的知识体系呢?和我的经历有一点像,我在职业生涯头五... 查看详情