巴延興:從主導多個SIG組到OpenHarmony“代碼貢獻之星”,我是如何做到的?

来源:https://www.cnblogs.com/openharmony/archive/2022/05/10/16252621.html
-Advertisement-
Play Games

在 OpenHarmony 生態發展過程中,涌現了大批優秀的代碼貢獻者,本專題旨在表彰貢獻、分享經驗,文中內容來自嘉賓訪談,不代表 OpenHarmony 工作委員會觀點。 ...


編者按:在 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 生態的共建,大家一起攜起手來,推動它的繁榮與發展!

 

 

搜索

複製


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 5月中國資料庫排行榜已出爐!各大資料庫廠商表現如何?排名有何變化?一起來解讀吧! ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,感激 ...
  • 本文和接下來的幾篇文章為閱讀郭霖先生所著《第一行代碼:Android(篇第2版)》的學習筆記,按照書中的內容順序進行記錄,書中的Demo本人全部都做過了。 每一章節本人都做了詳細的記錄,以下是我學習記錄(包含大量書中內容的整理和自己在學習中遇到的各種bug及解決方案),方便以後閱讀和查閱。最後,非常 ...
  • OpenHarmony電話子系統為 OS 提供了基礎的無線通信能力。支持 TD-LTE/FDD-LTE/TD-SCDMA/WCDMA/EVDO/CDMA1X/GSM 等網路制式的通信模塊,能夠提供高速的無線數據傳輸、互聯網接入等業務,具備語音、簡訊、彩信、SIM 卡等功能。 ...
  • 在直播、語聊房、K 歌房場景中,為增加趣味性和互動性,玩家可以通過變聲來搞怪,通過混響烘托氣氛,通過立體聲使聲音更具立體感。ZegoExpress SDK 提供了多種預設的變聲、混響、混響回聲、立體聲效果,開發者可以靈活設置自己想要的聲音,如果需要試聽,可以啟用耳返進行測試。 ...
一周排行
    -Advertisement-
    Play Games
  • # 通過圖片流來返回圖片 # 前言 之前寫了個圖片介面,然後做了個授權,但是光返回圖片地址雖然能適應大部分需求,但是考慮到有些人不想去處理返回值,也是做了個直接返回圖片流的介面。 # 介面展示 ## 返回指定寬度和高度圖片流 ![image](https://img2023.cnblogs.com/ ...
  • System.Speech是.NET框架的一部分,提供了語音識別和語音合成的功能。通過使用System.Speech命名空間中的類,開發人員可以在.NET應用程式中實現語音識別功能。 在本文中,我將演示如何使用 System.Speech.NET,這是開發語音應用程式比較牛逼的內庫。它適用於 .NE ...
  • 導航屬性 導航屬性是作為.NET ORM核心功能中的核心,在SqlSugar沒有支持導航屬性前,都說只是一個高級DbHelper, 經過3年的SqlSugar重構已經擁有了一套 非常成熟的導航屬性體系,本文不是重點講SqlSugar而是重點講導航屬性的作用,讓更多寫Sql人還未使用ORM的人瞭解到O ...
  • SM2是國家密碼管理局於2010年12月17日發佈的橢圓曲線公鑰密碼演算法。 產生背景: 隨著密碼技術和電腦技術的發展,目前常用的1024位RSA演算法面臨嚴重的安全威脅,我們國家密碼管理部門經過研究,決定採用SM2橢圓曲線演算法替換RSA演算法。 SM2演算法和RSA演算法都是公鑰密碼演算法,SM2演算法是一種 ...
  • # 使用c#實現23種常見的設計模式 設計模式通常分為三個主要類別: - 創建型模式 - 結構型模式 - 行為型模式。 這些模式是用於解決常見的對象導向設計問題的最佳實踐。 以下是23種常見的設計模式並且提供`c#代碼案例`: ## 創建型模式: ### 1. 單例模式(Singleton) ``` ...
  • ## 一:背景 ### 1. 講故事 在這麼多的案例分析中,往往會發現一些案例是卡死線上程的內核態棧上,但拿過來的dump都是用戶態模式下,所以無法看到內核態棧,這就比較麻煩,需要讓朋友通過其他方式生成一個藍屏的dump,這裡我們簡單彙總下。 ## 二:如何生成內核態dump ### 1. 案例代碼 ...
  • 有時候,我們為了方便,我們往往使用擴展函數的代碼方式創建很多GridView的操作功能,如在隨筆《在DevExpress中使用BandedGridView表格實現多行表頭的處理》中介紹過多行表頭的創建及綁定處理,在《基於DevExpress的GridControl實現的一些界面處理功能》也介紹了一些... ...
  • # 1、背景 在我們開發的過程中有這麼一種場景, `/projectA` 目錄是 `hadoopdeploy`用戶創建的,他對這個目錄有`wrx`許可權,同時這個目錄屬於`supergroup`,在這個組中的用戶也具有這個目錄的`wrx`許可權,對於其他人,不可訪問這個目錄。現在有這麼一個特殊的用戶`r ...
  • 基於java的倉庫管理系統設計與實現,可適用於出庫、入庫、庫存管理,基於java的出入庫管理,java出入庫管理系統,基於java的WMS倉庫管理系統,庫存物品管理系統。 ...
  • 清醒點[toc] # Java虛擬線程 > 翻譯自 screencapture-pradeesh-kumar-medium-an-era-of-virtual-threads-java ```mermaid flowchart LR introduction-->a(why thread)-->b( ...