編者按:在 OpenHarmony 生態發展過程中,湧現了大批優秀的程式碼貢獻者,本專題旨在表彰貢獻、分享經驗,文中內容來自嘉賓訪談,不代表 OpenHarmony 工作委員會觀點。
開源之風盛行,有人站在門口躍躍欲試,有人已經進場大展身手。OpenAtom OpenHarmony(簡稱“OpenHarmony”)吸引了不少開發者和合作夥伴,各行各業的開發者投身其中,全方位地面向 OpenHarmony 社群進行開源貢獻,李俊剛便是其中的一位。
李俊剛是深圳市開鴻數字產業發展有限公司的一名 OS 驅動開發工程師,自今年 1 月加入 OpenHarmony 生態以來,就著手 ap6275s WiFi 驅動的 HDF 適配工作,並在社群中上傳專案程式碼,分享開源心得,用過硬的技術知識為社群朋友解答困惑,將深開鴻勞模精神、工匠精神深深植入到開源專案工作的各個工作環節,“每次貢獻必須有意義,必須有實際影響”成為他身上的一種使命、一種責任。
今天,我們有幸邀請了這位程式碼貢獻先行者李俊剛,一起聊聊加入 OpenHarmony 生態的初心、組建 OpenHarmony 開源專案團隊的經歷、開發過程中遇到的困難與收穫等話題,以下為此次專訪的對話內容。
Q1 請簡要介紹下自己以及所在的開發團隊
大家好,我是李俊剛,來自深圳開鴻數字產業發展有限公司,是 OS 研發部的一名軟體工程師。今年 1 月份,我的團隊開始著手 OpenHarmony 程式碼開發任務,主要涵蓋了 ap6275s WiFi 驅動的 HDF 適配、AP 側的開發和適配、STA 側的開發和適配以及網路側的 HDF 開發適配這五大板塊的工作。
此次加入 OpenHarmony 社群,給了我許多不同於工作中開發專案的感受,也希望在此能為大家分享經驗。
Q2 您最初為什麼會選擇加入OpenHarmony生態、參與開源共建呢?
開源已形成燎原之勢,開源參與群體迅速擴大。
OpenHarmony 作為泛智慧終端作業系統,擴充了萬物互聯重塑資訊產業生態的新空間,使用了先進的分散式架構,對開發者非常友好,發展速度很快,這為深開鴻的目標實現提供了學習建設的平臺,因此我們選擇了 OpenHarmony 的技術路線,相信在平臺及專案的強力支撐下,大力促進開源生態繁榮和可持續發展。
Q3 可以介紹下你們組建OpenHarmony開源專案團隊的經歷嗎?
今年 1 月,我們組建了 OpenHarmony 開源專案團隊,由於接到任務時間緊迫,前期我們在短時間內熟悉 HDF WiFi 框架後,根據功能模組進行分工領任務,熟悉驅動架構,通過團隊間的相互協作配合,我們完成了程式碼的適配工作。在後期階段,我們主要圍繞著 ap6275s WiFi 模組 HDF 適配工作展開。團隊利用在作業系統的經驗很快高效地完成了 ap6275s WiFi 模組 HDF 驅動需要的所有功能介面,包括 WiFi 驅動的 HDF 初始化流程,建立並註冊網路介面流程,WiFi 基本控制側、STA 側、AP 側、P2P 側功能介面,事件上報介面以及與核心協議棧適配的網路側介面集。
這些成果背後少不了 OpenHarmony 工作組和深開鴻研發團隊熱情的投入,少不了雙方積極的交流與同步,更少不了雙方對共同目標的支援與配合。
Q4 在整個開發程式中,您和您的團隊遇到過哪些技術上或其他方面的難題呢?這些難題又是如何被逐一解決的?從中您得到了哪些收穫?
我們剛組建了 OpenHarmony 開源專案團隊的時候,以為帶著多年積累的基礎進入專案組更加遊刃有餘,但真正做起來發現,以標準參考進行研發不是一件簡單的事,比如對 HDF WiFi 框架以及 CFG80211 框架的深入分析。在完成 WiFi P2P 側的適配過程中,由於原生驅動框架無法滿足上層業務 p2p0 網路介面的要求,以及事件上報機制有所差異,我們需要對 WiFi 驅動原始碼進行很大的改造。通過團隊夜以繼日、努力配合、積極溝通,最終用了 2 個月的時間克服了難點,完成了此次開發適配工作。
開發的過程也給我帶來了很多收穫,首先,我意識到複雜的功能往往是從最簡單的樣例慢慢擴充迭代而來,一蹴而就是不現實的,我們經歷了好幾次大規模的重構,每次重構之後再回過頭對比上個版本,都有如雲壤之別。其次,平臺給予了我們與專家進行交流的機會,通過交流學習能給彼此帶來一些創新思路,這對於個人視野的擴充大有裨益。
Q5 您對OpenHarmony有什麼建議嗎?
任何事物在發展的初期階段都存在不足,OpenHarmony 是一個新興事物,在起步階段尚未成熟,比如開發者網站介面不夠簡潔,宣傳力度不夠,這些亟需更多人加入 OpenHarmony 社群的共建,共同推動它的繁榮與發展。
我希望 OpenHarmony 社群能夠吸引更多的個人開發者和學生加入,可以通過舉辦校園競賽、線上活動等,提供開源專案學習與交流的平臺,多給參與者,貢獻者一些鼓勵和培訓,讓人人都加入到社群中來。同時,可以通過完善文件資料,完善網站頁面等,讓開發者能夠更快地瞭解和使用 OpenHarmony 平臺。
Q6 OpenHarmony目前仍處在開發探索階段,很多共建單位和生態夥伴還不清楚開源專案的玩法。可以請您給大家分享一條您認為最重要或最值得分享的心得嗎?
首先,我建議加入 OpenHarmony 社群的開發者要找準自己的優勢,結合自身在技術領域的強項,利用開源社群提供的資源,領取一些能力範圍內的任務。其次,積極尋求 OpenHarmony 社群各行業的技術大牛的指導,探討學習,從交流中成長,從貢獻中提升自我,我相信這樣能幫助更多的開發者融入 OpenHarmony 的合作共建中。
Q7 請問您還有話想和大家說的嗎?
作業系統應努力實現核心技術突破,把創新主動權、發展主動權牢牢握在自己手中。我們新一代開發者,有信心也有決心在創新上走得更快,走得更遠!