写点什么

一个 50 岁中国操作系统开发者的故事丨 openEuler 英雄汇

  • 2020-12-26
  • 本文字数:2976 字

    阅读完需:约 10 分钟

一个50岁中国操作系统开发者的故事丨openEuler英雄汇

陈棋德,一位 50 岁的操作系统老兵,在中国 Linux 发行版研发领域砥砺耕耘了二十余年。为什么他会选择看起来过于“硬核”的操作系统研发工作,一干就是这么多年?为什么他认为中国的 Linux 系统一定不能只做衍生版?在他眼里,中国基础软件的现状又是怎样的?带着这些问题,InfoQ 记者采访了陈棋德。在 12 月 25 日即将举办的 openEuler Summit 2020 上,陈棋德还将做专题分享,敬请期待。


二十年专注一件事:操作系统研发


1996 年 7 月,陈棋德硕士毕业进入到中科院计算机网络信息中心工作,正式接触到了 Linux 系统。时隔多年,他仍清楚地记得当时使用的是 Slackware 的 3.1 版本。1999 年 7 月,陈棋德加入了北京拓林思软件有限公司(Turbolinux)从事 Linux 发行版的研发工作,一干就是二十年。


20 世纪 90 年代,计算机在国内远未普及,投身操作系统开发的人数更是凤毛麟角。


国内我知道最早投身操作系统开发的人都在中科院和一些大学里,比如中科院软件所的孙玉芳老师。(孙老师已于 2005 年病逝)


谈到与操作系统结缘的经历,陈棋德表示故事其实很简单。学生时代,陈棋德学的就是计算机专业,与现在不同的是,当年学计算机的人并不多。在中科院计算所读书期间,陈棋德接触到了开源软件,产生了对底层技术的兴趣。


当时我很高兴能够看到操作系统等底层技术的代码,当有来自 Linux 领域公司的机会时,毫不犹豫地就选择了加入 Turbolinux,与 Turbolinux 三剑客一起工作。这些年一直从事基础软件方面的工作主要是源自对技术的兴趣和对开源理念的认同。


陈棋德在采访中笑着提到,年纪大了以后,有些事情都记不住了,当年学源码基本上过目不忘,现在看旧代码有时会忘记当时为什么要这么写。这 20 多年发生过很多故事,记忆虽有模糊,有三件事却给他留下了深刻的印象:


早年间,公司曾邀请自由软件运动发起人 Richard Stallman 访问中国。爬长城时他提到一年只用工作 6 到 7 周就能满足生活需求,其他的时间专注做自己想做的事情。从那个时候我就认识到从事开源软件工作还是需要在一个富裕的社会背景下,这样大家才可以做自己喜欢的技术方向的工作。


二是在 Linux 的发展初期,公司的研发高手利启诚等人只用了一天时间就取得了重大突破,实现修改内核代码在字符终端上显示中文的特性。利启诚也是内核文件系统 InterMezzo(2.4.15 版本加入) 的三个主要开发者之一,他是国内在早期就能参与 Linux 内核开发的程序员。身边的内核高手给我留下深刻印象。



三是 Turbolinux 在拓荒企业级服务市场时曾攻克的一个技术难题。当时的背景是在电信行业,某通讯公司百万行代码的应用在 Linux 2.4 上性能不佳,胡欣蔚(现 openEuler 社区技术委员会主席)等人去了现场和对方架构师交流,找出了其软件架构未能发挥 OS 性能的根本原因,最终提升了 3 倍的效能。这是我碰到的第一个让应用在 OS 层面充分发挥硬件性能的企业级实践经历。


陈棋德对操作系统一直有一个观点:国内要想有很好的发展,一定不要满足于只做 Linux 的衍生版,而是要去做一个开源的、生态良好的操作系统。在 openEuler 操作系统出现以后,他觉得时机到了。


与 openEuler 结缘的故事


openEuler 是一个开源、免费的操作系统平台,自开源至今,短短一年时间已经有 2000 多位贡献者,70 余个 SIG 组,社区迅速发展壮大。


今年,陈棋德正式加入了 openEuler 社区。但其实,他与 openEuler 的缘分在很久以前就开始了。


前文提到的 openEuler 社区技术委员会主席胡欣蔚,多年前就曾与陈棋德一起共事。openEuler 技术委员会的另一位委员熊伟,早年间也曾在 Turbolinux 工作,某种意义上,陈棋德算是他的入门师傅。


我一直比较关注国内的 Linux 行业,了解到 openEuler 的技术路线后也跟他们做过多次交流,最终选择了加入社区一起贡献。目前在社区我主要负责 xfce 和 gnome 两个 SIG 组,在提交包的过程中也参与测试了 openEuler 社区的基础设施。其他时间还会跟踪内核和编译器等底层方面的包,并和国外 Linux 版本做对比,以便更好地了解 openEuler 的优势。


陈棋德表示,要做好一个独立的 Linux 发行版需要庞大的开发者群体。以 Fedora 为例,其开发人员规模在 3500 人左右,而其中的大部分人员都是上游社区的开发人员,能统计到的 Red Hat 公司的开发者就有七百人之多。这意味着,能参与到上游社区开发的人员,最差的也是编程能力出众的高水平程序员。


我很高兴看到华为把世界一流水平的基础软件底层能力开放出来做 openEuler,我也期待 openEuler 能够越做越好,成为国际主流的 Linux 发行版。开源操作系统成功的关键无外乎二者:完善的生态和广泛的产业链支持。构筑生态的前提是自己做得足够好,这就要求技术上我们尽可能地做到 upstream first,希望在不就的将来 openEuler 社区开发人员的 upstream 人员数量能够超越 Fedora。


CentOS 8 将于 2021 年底停止维护的大新闻与这次采访不期而遇,此次事件不论是在 openEuler 社区还是操作系统行业内都引发了广泛的讨论。陈棋德表示,CentOS 8 的用户其实可以继续用其他 RHEL/CentOS 的衍生版本,比如 Oracle Linux 就表示用户可以使用其替代 CentOS。而在另一个层面上,他表示用户也可以尝试迁移到 openEuler 上,因为开源操作系统的好处就是去厂商绑定,多一个选择对迁移不是难事,对社区都是好事。


中国基础软件:要技术,更要市场


在很多圈外人看来,国内操作系统行业发展不尽如人意。而陈棋德却认为,在 Linux 内核层面上,中国的发展其实并不算差。


数据统计显示,Linux 内核来自中国程序员的贡献已经排在世界第二,仅次于美国。Coly Li 写过一篇名为《Linux 内核在中国大发展的黄金十年》的文章,系统介绍了最近十年国内内核发展的情况,我的观点与他相同。


以 Linux 为例,国内操作系统目前技术实力已经今非昔比,而且有能力参与 OS 市场的商业竞争。最近几年华为连续出现在 Linux 内核贡献前列的名单中,今年更是已经到了世界第二。在开源操作系统方面,国内的各大科技巨头也有广泛投入。


真正与国际相比,不足之处仍在于我们大牛层面上的人数还不够多,在最高水平方面有所差距。


我认为国内操作系统可能的机会有几个方向。首先还是希望 openEuler 能做到成功,因为它本身处于 Linux 的成熟期内,又建立起了科学、规范化的社区治理模式。另外的新兴产业如物联网操作系统也存在很大机会,我本人也在持续关注 Linux 在物联网方面的应用,同时也关注了很多国内外物联网操作系统的发展动向。


上层软件一直是聚光灯下的焦点,而基础软件如操作系统却稍显“硬核”,不够“性感”。很多人认为这或许也是操作系统行业人才青黄不接的原因所在。


但陈棋德却不这么看,他认为技术在这个里面只是很小的一个因素,最重要的仍旧是市场规模的问题。


个人认为人才断档的本质原因,是国内操作系统行业市场规模太小,不足以养活太多从业人员。我之前看过 IDC 的报告,2019 年国内 Linux 市场规模只占 9 亿,国内 Linux 厂商分得 2 亿。所以从市场规模的角度看,无法支撑起一个庞大的从业人群规模。Linux 内核在国内经过了十年的快速发展,人才是足够的,但是国内 Linux 操作系统市场规模太小,导致很多操作系统人才去做了别的开发工作比如存储等等。和美国相比,国内基础软件市场占 GDP 的比重远小于美国。我觉得随着经济的发展,如果能够建设和发展处一个良性的基础软件市场,具备足够的市场规模,到时候自然会有更多年轻人加入到这个行业中来。

2020-12-26 11:163355

评论

发布
暂无评论
发现更多内容

边学边赛 等你来战 | 昇腾AI原生创新算子挑战赛华中科技大学专场赛完美收官

Geek_2d6073

Java面试无分布式微服务经验,该如何弥补?

了不起的程序猿

分布式 微服务 后端 架构师 java面试

中国恩菲:有色金属行业如何使用 IoTDB?|用户零距离第一期

Apache IoTDB

Spring Cloud+Nacos+KMS 动态配置最佳实践

阿里巴巴云原生

阿里云 云原生

CDN的作用以及哪些企业适合使用CDN?

Ogcloud

CDN 网络加速 CDN加速 CDN技术 CDN网络加速

深入编码规则:构建灵活且可扩展的编号生成器

inBuilder低代码平台

低代码

Hume AI 语音控制功能:创建个性化语音;李飞飞空间智能首个模型:单图生成 3D 交互场景丨 RTE 开发者日报

声网

OKR工作法软件大盘点,7款优秀工具助力目标管理

易成研发中心

TinyPro Vue 1.1.0 正式发布:增加细粒度权限、页签模式、多级菜单,支持Vite/Rspack/Farm等构建工具

OpenTiny社区

开源 前端 组件库 OpenTiny TinyVue

SOL项目开发代币Dapp的基本要求

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 交易所开发代币开发

加速和扩大洞察|如何做好半结构化数据分析

AI数据云Relyt

非结构化数据 数据分析、 AI-ready JsonB

非标自动化行业ERP选型与案例展示!

积木链小链

ERP

向量检索服务RAM授权

DashVector

人工智能 阿里巴巴 向量检索 大模型 向量数据库

企业如何构建自己的 AI 编码能力

cloud studio AI应用

编码 #人工智能 腾讯云AI代码助手 #AI #大语言模型

赛博威携手百度智能云,开启数字营销新未来

赛博威科技

人工智能 AI 百度智能云 数字营销 赛博威

让每笔营销费用发挥更大价值,为生意持续增长创造可预见的未来!

赛博威科技

数字营销 营销费用管理 赛博威

手撕单例的 5 种写法!

王磊

什么工具可以解决团队协作障碍?

秃头小帅oi

签约案例|GreptimeDB 为数据驱动的汽车应用带来安全高效的车云一体解决方案

Greptime 格睿科技

数据库 车联网 汽车 车云一体

官方提供平台,导师倾情陪练,助力学生玩转开源|Greptime 参与「开源之夏」的第二年正式收官!

Greptime 格睿科技

数据库 开源 活动 开源之夏

Java日志手机号脱敏工具类

EquatorCoco

Java 工具

云服务器的故障率比物理服务器更低吗?

Ogcloud

云主机 云服务器 香港云服务器 美国云服务器 云服务器租用

深入理解Vue3:style中的响应式变量如何工作?

高端章鱼哥

Java学习如何进阶?

了不起的程序猿

Java 程序员 并发编程 架构师 Java进阶

怎么把域名解析到IP地址上?怎么去设置域名解析?

国科云

赛博威数字营销一体化高效运维,更高效、更全面、更稳定、更创新

赛博威科技

运维 数字营销 赛博威

小程序SDK在跨端app开发是否有优势?

FinFish

跨端应用开发 小程序容器技术 跨端技术 跨端app开发 小程序SDK

打造去中心化交易平台:公链交易所开发全解析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Web自动化测试中的元素定位与显式等待

测试人

软件测试

NFTScan | 11.25~12.01 NFT 市场热点汇总

NFT Research

NFT\ NFTScan

大厂Java面试经验套路总结

开心学Java

程序员 高并发 架构师 java面试 大厂

一个50岁中国操作系统开发者的故事丨openEuler英雄汇_开源_小智_InfoQ精选文章