爲了讓更多人更深刻認識 openEuler 並積極參與進來,社區將出一些列課程和你們近距離接觸,邀請 openEuler 開源的重要參與者、SIG 組 maintainer 等資深專家來進行持續分享。本課程分爲三部分,主要是讓你們瞭解 openEuler 是什麼、怎麼玩、如何參與。html
經過社區網站你們能夠了解到更多關於 openEuler 的相關內容,並經過文檔查看 openEuler 的使用方法。git
openEuler 是一個開源、免費的 Linux 發行版平臺,經過開放的社區形式與全球的開發者共同構建一個開放、多元和架構包容的軟件生態體系。同時,openEuler 也是一個創新的平臺,鼓勵任何人在該平臺上提出新想法、開拓新思路、實踐新方案。github
上面瞭解了 openEuler 是一個開源免費的平臺,對於工程師來講,下載使用纔是第一步,那麼咱們怎麼去下載 openEuler 呢?安全
openEuler 社區提供了openEuler 下載地址[2]。架構
能夠經過 openEuler 社區導航上的【下載】按鈕,下載 openEuler 20.03 LTS 的 ISO 安裝包。openEuler 20.03 LTS 版本是面向開放場景的標準發行版,生命週期四年。工具
在 openEuler 使用過程當中遇到問題或想提出意見,在社區導航下的【下載】裏和文檔裏能夠提出意見反饋,供相關技術人員及時解決問題。gitlab
能夠經過 openEuler 導航下的【社區】來參與 openEuler 社區,裏面有不少社區相關的子菜單你們能夠在官方社區裏進行深刻的瞭解。【社區】裏的【貢獻攻略】能夠指導開發者一步一步參於 openEuler 社區、【SIG(項目組)】能夠找到本身感興趣的項目組、【郵件列表】能夠收聽參與相關的一些討論。佈局
郵件列表:郵件列表是社區交流的很重要的一種方式。性能
經過社區咱們能夠作些什麼:學習
在咱們要作一些事情以前,先說一下 openEuler 自己是在什麼地方的?openEuler 自己是放在 gitee.com 上的,而且是開源的,若是你們想要加入使用 openEuler 須要有一個 gitee 帳號。
下面就是咱們要在社區裏作些事情了。
1)提需求/bug: 在使用/開發過程當中遇到的一些問題,發現哪些地方使用不方便,你們均可以能夠經過 issue 或者郵件列別提出問題。
最簡單基本的參與社區的方式:固然是先點一點社區裏的內容了,看看有哪些須要優化改進的地方,提出一些有價值有意義的建議。這也是最簡單的方式了。
在社區中提交問題都是經過 issue 機制來進行的,在提交問題的過程當中須要提交人指定提交的對象是誰,也就是你要提交問題給誰。
讓咱們看下 issue 的界面長什麼樣子?
舉個栗子:若是你想提交一個社區治理的一個問題,那麼你能夠在 Community 代碼倉庫的 issue 中提交問題
方框裏的 issue 就是咱們用來提交 bug/問題的入口,進入到 issue 裏咱們能夠點擊【新建 Issue】,進去以後就能夠提交 issue 了。
固然你能夠設置提交的 issue 是什麼級別的。
咱們在提交問題時怎麼來接行 issue 的劃分呢?
總的來講分爲如下幾類:
若是你想要更詳細的瞭解 issue 提交的流程,下面的連接能夠幫助到你:https://gitee.com/openeuler/c...[24]
2)修 bug 解決問題: 這個就須要高層次的社區人員,以一個開發者的身份參與到社區中,在社區裏能夠本身主動認定一些 bug,來解決相關的問題。
在社區裏,一般咱們但願提出問題並同時解決問題,若是有一個問題,固然最好的狀況是同時提供問題解決的 patch 補丁。咱們以社區的輕量化容器引擎 iSulad 爲例,https://gitee.com/openeuler/i...[25],假定咱們須要爲 iSulad 提交一個 patch 補丁,基本流程以下:
第一步:首先要先創建一個本身的分支
分支是經過 Fork 建立的,若是你們不瞭解 Fork,仍是先去學習如下 git 吧,對於開發者來講,git 的開發模式是最經常使用的,也是最基本的,使用 git 是必須的。
第二步:修改代碼並生成 Pull Request
點擊 fork 完畢後,目錄已經從 openEuler 切換成了本身的帳戶了,你本身的分支就建立好了。接下來就能夠在本身的分支上進行代碼的修改了。
修改完代碼後,點擊 Pull Request,就會生成一個 patch 提交代碼到原始社區裏了,到這裏就完成了 patch 的提交了,接下來的時間就是等待 maintainer 審覈你的代碼了。
3)貢獻軟件包: 能夠在 openEuler 代碼倉庫中的 openeuler 或者 src-openeuler 貢獻本身的軟件包,固然裏面有不少軟件包供開發者使用。這樣日積月累,openEuler 就可以提供更多更豐富的軟件包功能,越多人蔘與進來,openEuler 就可以成爲萬能的軟件生態系統。
4)開發新軟件: 你們根據本身愛好和想法,能夠開發一些新的軟件,貢獻到 openeler 下面,通過必定時間的孵化能夠進駐到 src-openeuler 裏,供你們使用。
有兩種方式能夠將本身的做品發佈到 openEuler 社區:
若是你們想更加詳細的瞭解社區,能夠經過兩篇比較好的博客去進一步瞭解。能夠介紹如何參與社區的博客地址以下:個人社區參與之旅[26]openEuler 社區參與之旅[27]
openEuler 的願景是:經過社區合做,打造創新平臺,構建支持多處理器架構、統一和開放的操做系統 openEuler,推進軟硬件生態繁榮發展。
openEuler 代碼是放在 gitee 上的,你們能夠盡情的去下載使用。
openEuler 主要包括兩個代碼倉庫:
src-openEuler 軟件包倉庫地址:https://gitee.com/src-openeuler[28]
src-openEuler 主要用於存放製做發佈件所需的軟件包。爲 openEuler 的 release 發行版提供生成 rpm 包等構建信息等的地方。
openEuler 代碼倉庫地址:https://gitee.com/openeuler[29]
openEuler 主要用於存放源碼類項目。openeuler 這個倉是存儲全部「原生態」的軟件,也就是爲原創性的軟件提供一個展現的舞臺,或者是一個孵化器平臺。
openEuler 社區碼雲地址: https://gitee.com/openeuler/c...[30]
代碼倉 Community 保存了關於 openEuler 社區的全部信息,包括社區治理、社區活動、開發者貢獻指南、溝通交流指南等內容。這裏包括:openEuler 社區介紹、社區治理組織架構、社區活動、開發者貢獻指南。
社區治理組織結構
咱們主要介紹 祕書處、安全委員會、技術委員會、SIG。經過對各自的介紹,你們很明白的知道這些架構組織的做用了。
祕書處: 負責社區的籌備、運營規劃等支撐社區規範化運做成熟。
現階段,openEuler 社區祕書處的主要職責以下:
安全委員會: 負責接收和響應 openEuler 安全問題報告、提供社區安全指導。
現階段,openEuler 社區安全委員會的工做職責以下:
技術委員會: 負責社區技術決策和技術資源的協調。
技術委員會的主要職責以下:
SIG: 社區興趣小組,每一個小組維護一個或多個項目(對應多個 gitee 倉)
在您遇到任何問題、想參與各委員會/各 SIG 的運做、找到感興趣的 SIG 均可以經過一下方式進行了解和提問。
若是您對社區治理有任何問題或建議,能夠發郵件到 maillist:community@openeuler.org
提 issue:https://gitee.com/openeuler/c...
若是您想參與各委員會、各 SIG 的運做,能夠經過郵件列表交流及獲取信息郵件列表:https://openeuler.org/zh/comm...
SIGs:https://openeuler.org/zh/sig....
若是您沒找到感興趣或者合適的 SIG,能夠申請建立 1 個新 SIGhttps://gitee.com/openeuler/c...
若是您對社區版本發佈有任何建議或者需求、想法,能夠發郵件到 maillist:dev@openeuler.org
標題行首帶上[release management] 提 issue:https://gitee.com/openeuler/r...
openEuler 跟其餘你們比較熟悉的操做系統是同樣的,主要是從上游社區來取相關的軟件進行一些加強開發、集成和質量保障,而後構建出來的一個社區免費版本。基於上游社區開源軟件構建的免費、開源的 Linux 社區發行版,與國內主流 OS 廠商共建共享,造成協力繁榮國內 Linux 操做系統生態
下圖是 openEuler 與 Linux 發行版的對比,你們能夠了解一下。
openEuler 大部分軟件來自於上游開源社區,基於上游開源社區咱們也作了大量的貢獻來回饋上游開源社區。(好比:在 Linux Kernel 社區裏,華爲的貢獻排到了 Top5;在 GCC 社區裏華爲有 Maintainer 在社區裏進行貢獻,等等。)推送到上游社區比較困難的代碼,通過 openEuler maintainer 的評審,若是確實有價值,也能夠將代碼先合入到openEuler社區裏。但仍是鼓勵儘量推送到上游社區,堅持upstream first的原則。
openEuler 社區版本命名,發佈時間與生命週期管理[31]
LTS 版本:2 年發佈 1 個,維護 4 年,OSV 廠商能夠基於 LTS 版本構建商用發行版;下一個 LTS 版本 22.03
創新版本:6 個月發佈 1 個,維護 6 個月
歡迎社區開發者和用戶提出寶貴建議,以上規則將根據反饋意見以及社區實施狀況不斷完善。
20.03LTS 版本基本信息表[32]
LTS 版本架構環境支持 ARM 和 X86 版本。若是對 ARM 感興趣的人員能夠經過 openEuler 的【首頁】—【鵬城實驗室】能夠去申請 ARM 的虛擬機資源進行體驗。詳細的版本信息可查看下錶。
openEuler 關鍵特性文檔說明[33]
經過社區合做,打造創新平臺,構建支持多處理器架構、統一和開放的操做系統 openEuler,推進軟硬件生態繁榮發展。後面會有更多有意義有挑戰性的一些特性在後續的開發維護中會陸陸續續的發佈出來,你們盡請關注。
社區地址:https://gitee.com/openeuler[34]