巴延兴:从主导多个SIG组到“代码贡献之星”,我是如何做到的? 原创
编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献、分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点。
巴延兴
深圳开鸿数字产业发展有限公司
资深OS框架开发工程师
开源软件(以下简称“开源”)于上世纪80年代应运而生,随后惠及全球。如今,开源技术支撑了 90% 以上的互联网产品,并已经深入到各行业的商业应用中。2021 年,我国首次将“开源”明确列入《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》。虽然我国开源建设起步相对较晚,但国家在战略层已经开始给予了开源的肯定和支持。目前,开源已成为全球软件技术和产业创新的主导模式。
作为开放原子开源基金会的白金捐赠人、OpenAtom OpenHarmony(以下简称“OpenHarmony”)B 类捐赠人,深开鸿核心技术团队完整地继承了前期 OpenHarmony 业务技术积累,以共建共治共享的开源精神,以成为智能物联网操作系统领军者为战略目标,基于 OpenHarmony 聚焦智能物联网操作系统(KaihongOS)的技术研发与持续创新。致力于构建多赢的物联网操作系统生态圈,持续拓宽行业边界,实现万物互联。
作为资深 OS 框架开发工程师,巴延兴负责整体技术规划、项目看护、成果交付以及与社区的沟通协调;辅助工具 SIG 的申请成立、SIG 的孵化以及毕业流程的推进工作。其中,辅助工具 SIG 包括 NAPI 框架生成工具、开机动画工具、IDL 转换工具等一系列工具。
他常说,在这个世上,没有从天而降的好运和奇迹,机会只留给有准备的人。巴延兴抓住机遇,全力拥抱开源时代,在开源软件的基础上,为企业提供安全、稳定的企业级开源软件,并将代码百分之百回馈给社区。十年如一日对工作极致负责的他,用专业汇聚能量,目前共计带领团队主导 4 个 SIG、参与 12 个 SIG 的代码贡献,累计向主干贡献代码 30W+ 行。
此次我们邀请了深开鸿巴延兴前来参加访谈,希望通过他的视角,带我们更加全面地了解深开鸿团队背后的故事。
Q=OpenHarmony A=巴延兴
Q1:可以介绍下自己以及所在开发团队吗?
大家好,我是巴延兴,是深圳开鸿数字产业发展有限公司资深OS框架开发工程师。从业以来,我一直深耕终端设备的研发领域,拥有十多年的移动系统开发经验,去年有幸加入深开鸿南京研发团队,希望为操作系统发展贡献绵薄之力。
深开鸿团队一方面承担着公司 KaihongOS(OpenHarmony 商业发行版之一)的研发任务,另一方面积极地、大颗粒地、全方位地面向 OpenHarmony 社区进行开源贡献。
Q2:作为开发领域技术达人,请问哪些原因让您决定参与OpenHarmony的社区贡献?
随着 5G 时代的到来,数字化升级、万物互联、人机物融合等需求越来越旺盛,“开源”首次被明确列入《中华人民共和国国民经济和社会发展第十四个五年规划和 2035 年远景目标纲要》。作为互通互联生态架构基座的操作系统,OpenHarmony 应运而生。
深开鸿技术团队从 OpenHarmony 开源项目成立伊始就与 OpenHarmony 工作组展开了深度合作,是业内首批对 OpenHarmony 在产业上的应用及赋能进行深入研究的公司。我认为未来的市场将出现移动端操作系统高速发展的窗口期,因此,当我得知有深开鸿这样一家以 OpenHarmony 为技术底座的操作系统发行版公司诞生的时候,我便毫不犹豫地加入了。
自参与 OpenHarmony 社区共建以来,我深度参与了代码共建的工作,结合多年来在系统内核、系统安全、网络通信、多媒体及 AI 等技术领域的积累,主导多个 SIG 组的形式持续向社区贡献高质量代码,不断夯实 OpenHarmony 的基础能力,加速推进 OpenHarmony 生态建设。
Q3:恭喜您获得2月代码贡献之星,非常了不起,可以说说您在社区具体做了哪些代码贡献,获得哪些成果吗?
去年 6 月,深开鸿开始参与 RISC-V SIG,从芯片适配开始,再到承接 Driver SIG 的音视频硬编解码 HDF 框架实现的任务。随着开源经验的积累,团队也汇聚了各领域的技术专家。因此,深开鸿在 2021 年 9 月份正式主导了第一个 SIG 组——AI 框架集成 SIG 组。
在这过程中,我参与了需求分析、架构设计、代码框架搭建以及代码评审、入库等研发全流程;基于 RockChip Toybrick 3568x 实现了 HDF 框架开发;基于瑞芯微的 MPP 框架提供的 MppBuffer、MppBufferGroup 以及 packet 和 frame 相关的组件和接口,结合 Buffer 队列,共享内存等机制,实现了硬件编解码流程,并完成了相关的编解码演示程序和单元测试程序;基于 HJSUnit 测试框架,使用 JavaScript 语言编写 JS 全组件属性、样式、事件、方法等测试脚本;以上相关代码都已合入主干。
伴随研发团队规模逐渐扩大,团队能力逐渐提升,可参与主导或共建的技术领域也越来越多——辅助工具、软总线、多媒体、内核等项目都有深开鸿团队的身影,慢慢呈现了“遍地开花”的趋势,也看到我们的成果帮助了更多的开发者,真正感受到了生态的繁荣。
到目前为止,深开鸿主导了 4 个 SIG,参与共建的 SIG 有 12 个,尤其是内核、软总线、HDF、ArkUI 等根技术领域都有深度参与,累计向主干贡献代码 30W+ 行。
Q4:可以请您给我们分享一下,在整个开发的过程中,您和您的团队遇到过哪些技术上或其他方面的难题?这些难题又是如何被逐一解决的?从中总结了哪些经验呢?
我们在内核开发过程中遇到不少难题,比如内核支持的单板种类有限、Hi3861 开发板内核固化、编译环境搭建复杂等问题都加剧了进入内核研发的难度。面对这些困难,我们在探索过程中也摸索出了一套方法。
首先,我们利用仿真技术解决单板有限的问题,其次利用 Q/A 的方式将每一步都记录下来,输出技术文档,夯实每一步的脚印。对新技术保持一颗好奇心是每一个内核开发人员必备的素养,这样的心态促使我们不断攻坚克难。
目前内核开发工作还处于初级阶段,取得了初步的成果,但我们还会继续进行研发投入,在这过程中,不仅能提高我们自身的技术能力,而且还能增强公司的技术储备,促成良性循环。
Q5:加入OpenHarmony生态以来,深开鸿在社区的开源贡献方面取得了不小的成果,您认为“秘诀”都有哪些呢?
如果非要说有什么“秘诀”的话,那就是深开鸿始终坚持从开源中来,到开源中去的开源理念,结合 OpenHarmony 系统特性以及行业应用对操作系统的需求,推出具备行业共性的 KaihongOS 商业发行版,在满足客户需求的同时,也将沉淀下来的技术能力及行业实践回馈给社区。
除了主干代码贡献,我们在三方库、知识体系工作组、兼容性工作组、基础服务、开发板等方向也同时发力,多维度地、多层次地进行开源贡献。同时,我们的贡献也得到了社区的认可,深开鸿已正式成为兼容性工作组的第一家扩展成员的单位。
Q6:您最想吐槽OpenHarmony哪些方面?对未来的OpenHarmony有什么期望?
OpenHarmony 目前处在起步阶段,很多事物尚未成熟,比如系统能力还有待增强;应用生态不够丰富;开发文档不够齐全,开发者入门门槛高等问题都亟待解决,这就需要有更多的技术精英、行业大咖参与 OpenHarmony 社区共建。至于对未来的期望,自然是希望它能够蓬勃发展,向当今主流的开源生态看齐甚至超越。
Q7:未来深开鸿还会做哪些事情?朝哪个方向努力?
作为 OpenHarmony 开源项目的共建单位之一,深开鸿有责任、有义务、更有能力持续完善 OpenHarmony 的技术能力、不断以创新技术加速开源生态建设的布局。从产业生态角度来看,丰富且有活力的生态也将推动 OpenHarmony 的持续提升、优化、完善,最终反哺产业生态,形成一个良性的、有机的循环。
因此,我们会一如既往地推进 KaihongOS 在各个行业的商业落地,为千行百业赋能的同时,将沉淀、提炼出来的技术能力再贡献给 OpenHarmony 社区,真正践行从开源中来到开源中去的理念,这就是深开鸿在未来要做的事情,要努力的方向。
Q8:有什么想对其他企业和开发者说的话吗?
作为一名普通的工程技术人员,有幸遇到这样的一个时代,更有幸能够亲身参与这个时代的伟大变革。机会留给有准备的人,我会竭尽所能去拥抱这样的时代,把握时代赋予的机会。
个人的力量是渺小的,在这里我呼吁更多的有识之士、志同道合者参与到 OpenHarmony 生态的共建,大家一起携起手来,推动它的繁荣与发展!