5W1H聊開源之Who和How——誰、如何參與開源?

陳琦聊測試發表於2021-06-25

上次Who的主體是誰“發明”了開源,這一次主體轉換,來看看開源發明之後,還有哪些人為開源做貢獻?作為普通程式設計師的我們,又能以怎樣的形式參與到開源專案中?

很多人都以為參與開源是一件很高門檻的事情,必須要透過程式碼貢獻才算是開源專案的參與者或貢獻者,其實這是一個很大的理解誤區。一個開源專案其實就是一個社群,在社群裡面會包含各種各樣的角色,開源專案的角色有Contributor(貢獻者)、Committer(提交者)、Maintainer(維護者)、User(使用者)。大多數人對參與開源的理解可能侷限在狹義的前兩者,而對於這個問題第一反應可能也是直接參與到開發中,才是參與了開源專案。

User

實際上,除了最直接的Contributor和Committer,其他人也可以透過各種各樣的方式對專案作出貢獻。如禪道專案管理軟體的使用者們,就是以User的身份參與到了禪道這個開源專案中,對禪道的使用、標記、推薦乃至提交Bug、提供使用反饋,都是一種對開源專案的參與和貢獻。

比如在 Linux 核心開發中,到 5.9 版本發展到現在已經有 2.4 萬開發者參與其中。沒錯,他們當時都是這個開源專案的參與者。

Contributor

開源專案的程式碼、文件和作品都是由專案社群的成員建立、測試、使用、討論和最佳化構成。這些過程可劃分為各種任務,需要不同技能、不同參與程度及不同技術專長水平。所以,如果想要參與到開源專案中成為真正的貢獻者,有很多個活動可選擇。比如對該專案發出過pull request併合併到專案、測試和報告或者修復 Bug、編寫和更新軟體、撰寫或更新文件、翻譯、向他人推薦該專案、組織線下活動等。

Committer

Committer通常在專案日常運營過程中透過各種貢獻積累,得到專案核心維護團隊的提名和認可,最終從一般貢獻者成為提交者,並且在開源專案中擁有更高的許可權,他們是擁有程式碼倉庫寫操作許可權的開發者。一般情況 Committer 有程式碼倉庫的許可權可以直接提交程式碼,通常也有權 Review (檢視)別人的程式碼決定是否可以合併提交。作為一個開源專案的參與者,能夠成為 Committer 本身就是一種榮譽,也是鼓勵大家能夠持續參與、並保持社群健康的很重要的原因。比如成為Apache的Committer可能是很多開源專案工程師的小夢想。

Maintainer

致力於一個專案並促進該專案發展的使用者。常常是該開源專案的發起者或owner,也可以是一個團隊。他們在開源專案中擁有對此專案的最高決策權,決定專案的功能、戰略、發展方向。在 Apache 軟體基金會的組織架構體系中,每個專案都有獨立的 PMC(專案管理委員會)進行管理,PMC 成員為專案提名並選舉新提交者(Committer),PMC 成員還負責提名並投票新的 PMC 成員等。

參與開源的方式

  • 直接參與開源專案的開發
  • 參與開源專案的測試
  • 為開源專案提交Bug、修復Bug
  • 開發開源專案的外掛
  • 參與開源專案推廣
  • 參與開源專案的文件翻譯

除了以上開發者作為個體參與的方式,還可以在商業公司參與開源專案,這樣在為開源做出貢獻的同時,也可以得到物質報酬,不至於陷入經濟窘境。有很多商業公司就是開源專案的發起者或者主要參與者。比如近期很火的OpenHarmony就是由開放原子開源基金會(OpenAtom Foundation)孵化及運營的開源專案,華為是專案發起者。那麼華為公司參與到這個開源專案中的人員,同時也都是開源專案的參與者。

開源這個術語起源於軟體開發的語境,用於指定建立計算機程式的特定方法。然而,今天,“開源”可以理解為一種更廣泛的價值觀——開放交流、協作參與、快速原型設計、透明、任人唯賢和麵向社群的發展原則。在其他領域開源精神依然存在,開源的精神本質,就是“我做了一個東西,大家來用吧!”這樣一種Geek的精神,同時也有讓世界變得更加美好的願望。

If you find it terrible, make it perfect.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2778317/,如需轉載,請註明出處,否則將追究法律責任。

相關文章