速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

一个 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:163371

评论

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

【我和openGauss的故事】原生openGauss与Oracle数据库函数兼容性对比验证测试

daydayup

openGauss数据库源码解析系列文章——安全管理源码解析(三)

daydayup

【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本

ReturnTmp

node.js centos

【我和openGauss的故事】openGauss5.0在某省医保局实时数仓应用

daydayup

UE虚幻引擎游戏开发:游戏鼠标双击判定方法!

3DCAT实时渲染

UE虚幻引擎 UE教程 3D游戏制作教程

中国信通院高质量数字化转型产品及服务全景图发布,合合信息多项AI产品入选

合合技术团队

人工智能 数字化转型

通义千问开源模型部署使用

WizInfo

通义千问

新利好带动 POSE 持续上扬,月内几近翻倍

BlockChain先知

面部表情识别技术的挑战与解决方案

来自四九城儿

可视化数据分析工具是什么?可以用来做什么?

巷子

ARTS 打卡第 1 周 鸿蒙入门开发教程:一文带你详解工具箱元服务的开发流程

坚果

ARTS 打卡计划 HarmonyOS OpenHarmony 元服务 ArkTS

【我和openGauss的故事】在Kylin桌面版操作系统中配置openGauss的ODBC数据源

daydayup

go-zero 是如何实现令牌桶限流的?

AlwaysBeta

Go 源码 微服务 go-zero 限流器

作为网络报表分析工具的Quick BI,其功能如何

夜雨微澜

实现分布式事务:Java与MySQL的XA事务协调

树上有只程序猿

Java MySQL 数据库 分布式 XA

腾讯云大数据ES:结合AI大模型与向量检索的新一代云端检索分析引擎

腾讯云大数据

ES

AIGC 浪潮下,鹅厂新一代前端人的真实工作感受

CODING DevOps

javascript之webAPIs(1)

timerring

JavaScript

怎么快速更新Python的第三方库?教你一招,小白也能学会

程序员晚枫

Python 编程 计算机 第三方库

【我和openGauss的故事】一文帮你理解openGauss的高可用方案

daydayup

【我和openGauss的故事】openGauss5.0特性:CM支持VIP仲裁特性

daydayup

openGauss-graph 0.2.0版本正式上线

daydayup

2023-08-10:景区里有m个项目,也就是项目数组为int[][] game,这是一个m*2的二维数组 景区的第i个项目有如下两个参数: game[i] = { Ki, Bi } Ki一定是负数,

福大大架构师每日一题

左程云 福大大架构师每日一题

面部表情识别技术在安全领域的应用

来自四九城儿

以商业大数据技术助力数据合规流通体系建立,合合信息参编《数据经纪从业人员评价规范

合合技术团队

人工智能 大数据 商业化

openGauss数据库源码解析系列文章——安全管理源码解析(四)

daydayup

【我和openGauss的故事】openGauss 主备架构及同步复制模式理论学习与验证测试

daydayup

ToolLLM:能够使用 16000 种真实 API 的 LLM

Zilliz

AIGC Towhee LLM

面部表情识别在医疗领域的应用

来自四九城儿

从推动到拉动:研发效能提升的第一性原理

CODING DevOps

【我和openGauss的故事】Navicat连接openGauss_5.0.0 企业版数据库

daydayup

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