在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過SIG進行開源貢獻

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-07-23 10:15 ? 次閱讀

如何優雅地參與開源貢獻,向頂級開源項目提交 PR(Pull Request)。戰“碼”先鋒直播間第八期圍繞“OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)開源貢獻”話題,邀請了深圳開鴻數字產業發展有限公司(以下簡稱“深開鴻”)資深OS框架開發工程師巴延興為大家帶來《如何多方位參與OpenHarmony開源貢獻》主題分享。

本次分享主要介紹了巴延興帶領深開鴻開源共建團隊在主導/共建16個SIG、貢獻超過50萬行代碼的OpenHarmony “戰碼”經驗,在根技術、垂直領域、生態擴展等多方位參與開源貢獻的實踐與思考,以及輔助工具SIG和內核SIG兩大板塊的貢獻方式、價值與用途,希望有更多開發者參與開源共建。

參與戰“碼”先鋒,PR征集令!感興趣的開發者可以在Gitee的OpenHarmony代碼倉提交PR參與活動,和全球開發者同臺競技,比拼技藝,為OpenHarmony生態建設貢獻力量。

如何通過SIG進行開源貢獻

什么是SIG? SIG全稱Special Interest Group,即特別興趣小組,專注一個特定的技術領域,負責該領域技術競爭力分析和關鍵技術識別及決策,引領技術演進的方向,也是共建單位及個人開發者進行開源貢獻的基本單位。 通過SIG組參與開源共建的兩種方式 一、參與到已有SIG的共建
參與者需要注冊自己的官方賬號,簽訂協議后,才能通過認領SIG leader發布的需求來承接共建任務。領完需求后是標準的開發過程,包括需求分析、功能設計、代碼開發、功能測試、功能交付等步驟;任務開發完成后,需要提交PR,將代碼、文檔等提交到社區,完成最終的開源貢獻。

二、主導SIG組

1、成立SIG

選取共建技術領域并給出規劃 → 向PMC例會提交議題并通過評審 → 通過架構SIG例會評估后建立新的代碼倉。

2、孵化SIG

啟動需求澄清、特性梳理方案設計、代碼開發、單元測試、功能測試等流程,完成SIG項目開發 → 對照Check List,完成法務、門禁、OAT等問題自檢。

3、畢業SIG

向架構SIG申請新SIG畢業 → 向QA SIG會申請新SIG準出 → 倉庫owner移倉。

70165f6c-09bf-11ed-ba43-dac502259ad0.png

輔助工具SIG實踐經驗分享

成立輔助工具SIG組的宗旨是“降低重復勞動,提高工作效率,讓專業的人做專業的事”。NAPI框架代碼生成工具、IDL轉換工具和開機動畫工具都是圍繞著這個宗旨開發而成的。

一、NAPI框架代碼生成工具

NAPI是標準設備上的JS API實現方式,實現了JS語言到框架C++層的調用,在OpenHarmony系統中,APP調用是調用JS語言的接口函數,最終具體功能是用C++語言來實現。

NAPI存在三個開發痛點需要解決:

1、NAPI框架代碼的重復率高:面對不同的JS接口,開發者要實現相似度高的框架代碼。

2、NAPI框架的學習成本高:框架機制涉及JavaScript、C++語言,以及編譯腳本工具。

3、NAPI 需求量大:OpenHarmony系統功能均是通過NAPI接口體現,目前已經支持1萬多個NAPI接口。

針對以上三個痛點,NAPI框架代碼生成工具將C++ 、JavaScript接口類型轉換等代碼抽取公共模塊,并且自動生成編譯腳本。開發者使用工具自動生成NAPI框架代碼,只需實現業務代碼調用即可,避免了大量重復的工作。

7051aa5e-09bf-11ed-ba43-dac502259ad0.png

二、IDL轉換工具

OpenHarmony使用的是HDF驅動框架,驅動相應的硬件信息需要IDL文件來描述。

IDL存在兩大開發痛點需要解決:

1 、HDI開發難度大:HDI開發者比較熟悉C語言,習慣在.h文件中定義HDI接口,而對于IDL文件結構、語法并不是很熟悉,學習曲線相對較長。

2、HDI工作量大:HDI接口是驅動對外提供服務的必要條件,各個子系統均涉及,故HDI工作量較大。

針對以上痛點,深開鴻設計的IDL轉換工具將開發者熟悉的.h文件自動轉換為idl文件,開發者只需要在頭文件中定義自己的接口即可,工具自動實現.h頭文件到IDL文件轉換,開發者不需要關心IDL語法,大大降低工作量。

70632964-09bf-11ed-ba43-dac502259ad0.png

三、開機動畫工具

開機動畫工具是我們早期針對OpenHarmony2.0版本存在的問題做的一個輔助工具。

OpenHarmony2.0版本在開機動畫方面有兩個問題:

1、OpenHarmony2.0版本開機動畫只支持raw文件,不利于開發者在發行版和定制版進行直接展現。

2、因為產品的形態不一,對于不同的產品,其開機動畫的需求也是不同。

通過開機動畫輔助工具使以上兩個問題得到了更好地解決:

1、開機動畫工具支持圖片集或者 mp4等多種文件生成開機動畫,且支持設置開機動畫的分辨率等操作,更加方便開機動畫的制作。

2、做到一鍵生成開機動畫文件,并且支持在 windows平臺上查看其效果,不需要每次都去燒錄到開發板上,大大降低了演示的工作量。

708d0360-09bf-11ed-ba43-dac502259ad0.png

四、輔助工具SIG共建方向

目前深開鴻主導的輔助工具SIG組主要提供給開發者文檔資料、測試用例和工具開發3個共建方向。

如果你擅長文檔編撰,那么可以參與到社區的文檔貢獻,撰寫文檔可以不需要有很強的開發能力。

如果你是測試人員,擅長自動化測試,那么通過測試用例也可以參與到社區的建設。

另外也歡迎各位開發者參與到各種工具的建設中來。SIG組的工具可以是獨立的工具,也可以通過插件的方式集成到IDE開發軟件中。

73dbffc6-09bf-11ed-ba43-dac502259ad0.png

五、參與輔助工具SIG貢獻的具體方式

1、提交問題單。無論是文檔的bug、測試用例的bug、還是代碼的bug,提交了問題單就是對社區做了貢獻,那么輔助工具SIG組如何提交問題單呢?

首先找到對應的倉庫并登錄,例如https://gitee.com/openharmony/napi_generator/issues。

提交過程中要注意格式要求,必須寫清楚提單過程中問題出現的條件,預期的結果和錯誤的結果,問題的定位信息等,有了這些信息后,領取這個問題單的開發也方便定位問題。

7406918c-09bf-11ed-ba43-dac502259ad0.png

登錄找到想要認領的問題單的頁面,在評論中表達出想要承接這個需求的意愿,SIG的負責人會定期跟蹤這些問題單并做出答復。

742916f8-09bf-11ed-ba43-dac502259ad0.png

2、認領需求后進行開發流程

領到一個需求后要進行正常的開發,核心分為以下6步:

①通常開發者已經配置好配置碼云賬號、個人郵箱和簽署DCO(簽署DCO主要是保證貢獻者原創),有了這些前置工作以后,我們可以操作代碼倉庫進行需求的開發。

②Fork代碼到私倉。

③克隆fork出來的倉庫到自己的主機上。

④在本地開發代碼開發和功能驗證。

⑤開發完畢后向官方原始倉提交Pull Request,提交代碼后會觸發門禁等常規檢查。

⑥如果這個sig組是你自己主導的,那么作為Committer,需要評審別人提交的代碼,如果只是參與共建,提交完代碼通過門禁就完成任務。

內核SIG參與共建經驗

關于深開鴻內核SIG共建經驗,下面將以文件系統的優化為實例向大家分享具體的貢獻過程。

內核共建的方向比較多,體系架構有各個硬件平臺的移植,內核模塊中功耗管理、時間管理、任務調度、中斷管理、文件系統、三方庫相關的內核shell命令移植,目前深開鴻主要在文件系統和第三方庫方面做社區共建。深開鴻希望將來展開更多方向的優化工作,并向外提供具體場景下內核系統移植方案。

74528498-09bf-11ed-ba43-dac502259ad0.png

littlefs文件系統的共建過程:

1、了解社區需求,社區目前對littlefs文件系統隨機讀寫的速度不滿意。

2、了解到社區文件系統對隨機讀寫需求的前提下,對littlefs隨機讀寫IO性能瓶頸進行分析,找到能優化的代碼點,采用了“以空間換時間”的思路。

3、采用逐步優化的思路,明確方案后和社區負責人溝通,得到了社區負責人認可后,展開具體的代碼工作。

747c930a-09bf-11ed-ba43-dac502259ad0.png

由于文件系統優化是一個比較復雜的過程,下面分享了一套社區共建流程。

1、從社區認領需求后,通過微信群的方式和社區負責人溝通并澄清需求。

2、從技術上分析需求并制定優化方案,再次和社區負責人溝通,做方案討論并得到認可。

3、具體任務開發,包括任務拆解、編碼實現、測試,最后提交PR。

74c89ad4-09bf-11ed-ba43-dac502259ad0.png

針對littlefs文件系統優化過程中修改涉及到的相關文件,包括littlefs文件代碼,也就是點c和點h文件;也有編譯相關的文件,即.gn文件gni文件,之所以修改編譯相關的文件是為了測試littlefs的優化后的代碼,我們團隊增加了相關的測試用例,這些測試用例會調用內核文件系統的API,涉及到這些編譯相關的文件。

74efc172-09bf-11ed-ba43-dac502259ad0.png

littlefs第三方庫代碼完成后提交到社區的過程

1、littlefs第三方庫repository路徑,并fork到用戶倉庫。

2、git clone用戶倉到本地。

3、提交修改到用戶倉。

4、點擊提交PR。

5、填寫PR單,PR單頁需要按照既定模板填寫,寫清楚原始需求,如何解決這個問題,怎么解決這個問題以及具體修改點。

6、在評論中添加“start build”點亮PR。這里有一個特別注意的點,需要在評論中是手動填寫“start build”這2個英文單詞,目的是觸發后續的門禁檢測。這是OpenHarmony社區比較特別的一點,其它開源項目中所沒有的。

753a09da-09bf-11ed-ba43-dac502259ad0.png

756202b4-09bf-11ed-ba43-dac502259ad0.png

757e0b80-09bf-11ed-ba43-dac502259ad0.png

歡迎感興趣的開發者多方位參與OpenHarmony開源貢獻,成為OpenHarmony Contributor,也歡迎各位提出寶貴的意見,為OpenHarmony貢獻一份力量。

參與戰“碼”先鋒,PR 征集令!在Gitee的OpenHarmony代碼倉提交PR參與活動,和全球的開發者一起共建OpenHarmony的繁榮生態!

文章中涉及的鏈接匯總:

NAPI框架代碼生成工具代碼倉地址:

https://gitee.com/openharmony/napi_generator

IDL轉換工具代碼倉地址:

https://gitee.com/openharmony/drivers_hdf_core/tree/master/framework/tools/idl-gen

開機動畫工具代碼倉地址:

https://gitee.com/openharmony/graphic_graphic_2d/tree/master/frameworks/bootanimation/data/bootanimation_tool


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3419

    瀏覽量

    42762
  • 代碼
    +關注

    關注

    30

    文章

    4841

    瀏覽量

    69169

原文標題:30分鐘成為Contributor|如何多方位參與OpenHarmony開源貢獻?

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開源鴻蒙OpenHarmony社區運營報告(2025年1月)

    ●截至2025年1月31日,開放原子開源鴻蒙(OpenAtomOpenHarmony,簡稱“開源鴻蒙”或“OpenHarmony”)社區累計超過8200名貢獻者,共63家成員單位,產生51.2萬多個
    的頭像 發表于 02-11 09:28 ?123次閱讀
    <b class='flag-5'>開源</b>鴻蒙OpenHarmony社區運營報告(2025年1月)

    RT-Thread榮登2024開源創新榜單,躋身中國十大開源社區

    開源領域的卓越貢獻,榮登2024年開源創新榜單——2024年度開源社區,成為中國十大開源社區之一。2024年度
    的頭像 發表于 01-08 19:06 ?292次閱讀
    RT-Thread榮登2024<b class='flag-5'>開源</b>創新榜單,躋身中國十大<b class='flag-5'>開源</b>社區

    CCF開源創新大賽決賽結果發布!OpenHarmony應用開發賽道盡展風采

    經過數月的激烈比拼與項目展示,第七屆CCF開源創新大賽決賽結果揭榜!其中,深開鴻的“OpenHarmony應用開發-開源項目貢獻賽”賽道星光熠熠,表現突出。在此,發布頒獎典禮通知,讓我們共同見證
    的頭像 發表于 11-07 08:07 ?336次閱讀
    CCF<b class='flag-5'>開源</b>創新大賽決賽結果發布!OpenHarmony應用開發賽道盡展風采

    星光璀璨,聆聽 OpenHarmony 貢獻者之聲

    在第三屆開放原子開源基金會OpenHarmony技術大會上, 我們滿懷敬意地對取得優秀成果的星光OpenHarmony技術俱樂部、星光導師、星光貢獻者、星光活動進行了致謝。 他們不僅是技術的探索者
    發表于 10-28 17:09

    CC256x藍牙SIG認證應用說明

    電子發燒友網站提供《CC256x藍牙SIG認證應用說明.pdf》資料免費下載
    發表于 09-11 09:41 ?0次下載
    CC256x藍牙<b class='flag-5'>SIG</b>認證應用說明

    迅龍軟件OrangePi?5 Plus順利通過開放原子開源基金會XTS認證

    迅龍軟件的熱銷產品OrangePi5Plus最近傳來好消息。其順利通過開放原子開源基金會XTS認證,并獲頒OpenHarmony生態產品兼容性證書。開放原子開源基金會是在民政部注冊的致力于開源
    的頭像 發表于 09-09 15:36 ?648次閱讀
    迅龍軟件OrangePi?5 Plus順利<b class='flag-5'>通過</b>開放原子<b class='flag-5'>開源</b>基金會XTS認證

    英特爾中國開源技術委員會成立一周年

    開源已成為技術和產業生態發展的重要趨勢。英特爾秉持著開放、選擇、信任的原則貫徹開源,并在社區、開源項目、開發者等方面貢獻力量,帶動更多參與者共同實現生態繁榮。2023年2月,英特爾中國
    的頭像 發表于 08-16 15:35 ?531次閱讀

    10萬獎金池!CCF開源創新大賽-OpenHarmony應用開發大賽,等你來戰!

    生態建設的高質量發展。深開鴻發布“OpenHarmony應用開發-開源項目貢獻賽”賽道,旨在通過開發開源鴻蒙北向應用、擴展開源鴻蒙開發工具鏈
    的頭像 發表于 07-17 08:33 ?767次閱讀
    10萬獎金池!CCF<b class='flag-5'>開源</b>創新大賽-OpenHarmony應用開發大賽,等你來戰!

    新思科技宣布出售SIG業務

    新思科技(Synopsys)近日宣布了一個引人注目的交易計劃,已經與由Clearlake Capital和Francisco Partners領頭的私募股權財團達成最終協議,將其旗下的SIG(軟件
    的頭像 發表于 05-08 10:35 ?538次閱讀

    新思科技宣布以21億美元售SIG部門

    新思科技(Synopsys)在2024年5月6日宣布,將把其軟件完整性業務(SIG部門)出售給由Clearlake Capital和Francisco Partners領導的私募股權財團,交易價值為21億美元。
    的頭像 發表于 05-08 10:09 ?590次閱讀

    新思科技將以超20億美元出售SIG部門

    和Francisco Partners共同牽頭的財團正在與新思科技就SIG部門的收購進行深入談判,預計交易金額將超過20億美元。
    的頭像 發表于 05-07 09:52 ?508次閱讀

    迅龍軟件加入開放原子開源基金會和OpenHarmony?項目,共建開源新生態

    業的應用,提高開源技術對數字化轉型的價值貢獻。持續深耕開源領域賦能千行百業在國家戰略層面,“開源”首次被明確列入國民經濟和社會發展五年規劃綱要,“十四五”規劃提到要“支持數字
    的頭像 發表于 04-30 17:50 ?1121次閱讀
    迅龍軟件加入開放原子<b class='flag-5'>開源</b>基金會和OpenHarmony?項目,共建<b class='flag-5'>開源</b>新生態

    深開鴻升為OpenHarmony項目群A類捐贈人,引領開源生態新篇章!

    近日,深開鴻作為OpenHarmony核心共建單位、OpenHarmony生態委員會委員單位、OpenHarmony代碼Top10貢獻單位,通過了開放原子開源基金會OpenHarmony工作委員會
    的頭像 發表于 04-18 08:33 ?879次閱讀
    深開鴻升為OpenHarmony項目群A類捐贈人,引領<b class='flag-5'>開源</b>生態新篇章!

    模數轉換器 SIG5531A 國產平替 CS5531AS

    板子拿來,換個芯片,性能更好。MCU 不用改 c code。 SIG5531A/SIG5532A/SIG5533A/SIG5534A 1.6SPS to 3840SPS 16-bi
    發表于 03-11 12:56

    HDMI論壇出手,AMD開源HDMI 2.1驅動被拒

    電子發燒友網報道(文/周凱揚)作為一直在為開源社區不斷貢獻的科技大廠,AMD在Linux上貢獻了無數代碼,尤其是在圖形開源驅動,其貢獻的代碼
    的頭像 發表于 03-05 00:10 ?3068次閱讀
    主站蜘蛛池模板: 国产三级日本三级韩国三级在线观看 | 欧美三级黄色 | 亚洲欧美一区二区三区图片 | 日本高清中文字幕在线观穿线视频 | 欧美性生交xxxxx久久久 | 免费一级成人毛片 | 35pao免费视频 | 国产免费一区二区三区香蕉精 | 美女淫 | 狠狠躁夜夜躁人人躁婷婷视频 | 日韩精品免费一区二区三区 | 香港日本三级在线播放 | 在线观看免费视频资源 | 奇米99| 在线观看亚洲成人 | 丁香婷婷久久 | 狠狠操欧美 | 91亚洲视频 | 寄宿日记免费看 | 能在线观看的一区二区三区 | 日韩欧美一区二区三区视频 | 成人a毛片免费全部播放 | 色综合色综合色综合色综合 | 操到喷水| 四虎影院久久久 | 日本aaaaa毛片动漫 | 嫩草影院地址一地址二 | 午夜黄色毛片 | 色婷婷视频| 午夜国产精品福利在线观看 | 手机在线看片国产 | 亚洲综合色dddd26 | 美女一级一级毛片 | 操操插插| 日本三级视频在线观看 | 夜夜爽夜夜爱 | 四虎永久免费网站入口2020 | xxxx性开放xxxx | 免费一级特黄特色大片在线 | 99国产国人青青视频在线观看 | 手机在线观看你懂的 |