最早或要追溯到 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,在不断地“反哺”上游开源社区的同时,也逐渐从社区团队积累了属于自己的全职开发团队。
当时间来到 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,采用半上游半自主维护的状态支持系统更新。
经历了 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 版本见面。