發(fā)展你們的開源項目社區(qū)

2020-09-08 17:53 更新

社區(qū)擁有強大的能量。這種能量可能是正面的也可能是負(fù)面的,這一切都取決于你如何駕馭它。隨著項目社區(qū)的成長,要想辦法讓之成為建設(shè)性的力量,而不是具有破壞性的。

不縱容壞人

一些流行的項目將不可避免地會吸引到一些破壞它們的人。這些人可能會從一些沒必要的爭論開始,對一些細(xì)枝末節(jié)進(jìn)行糾纏不清,甚或用語言傷及他人。

對于這類人,必須采取零容忍的政策。一旦猶豫不決,那么這些消極的人會給社區(qū)的其他人帶來不愉快的感覺。那時就會出現(xiàn)劣幣驅(qū)逐良幣的現(xiàn)象。

avatar

事實上是,擁有一個支持性社區(qū)才是項目成功的關(guān)鍵。如果沒有來自我的同事,互聯(lián)網(wǎng)上一些友好的陌生人,以及聊天渠道IRC的幫助,我不可能做好這些工作。(。。。)不要退而求其次。不要容忍混蛋。

@okdistribute , “如何運營一個 FOSS 項目”

關(guān)于項目瑣碎方面的定期辯論會分散其他人(包括您)的注意力,使他們無法專注于重要任務(wù)。新人可能會看到這些對話而不想?yún)⒓印?/p>

當(dāng)發(fā)現(xiàn)社區(qū)中有消極的行為時,要即時、公然的指出來。特別說明的是,要用堅定的語氣解釋他們的行為為什么是不可接受的。如果這種問題繼續(xù)發(fā)生,你有必要要求他們離開 。你的行為準(zhǔn)則 是為這些情景準(zhǔn)備的建設(shè)性指南。

知道貢獻(xiàn)者在哪里

隨著項目的成長,好的文檔會變得愈加重要。臨時貢獻(xiàn)者或路人是不可能一下子就對項目非常熟悉,一份好的文檔,能夠很快找到他們需要的。

在 CONTRIBUTING 文件里,需要明確告訴新來的貢獻(xiàn)者該如何開始。而且若是可能為了想要達(dá)到這個目的,還需要準(zhǔn)備一個專門的部分。

django new contributors page

在issue列表中,缺陷的標(biāo)簽需要做到適合不同類型的貢獻(xiàn)者:例如,“僅供入門者” , “優(yōu)質(zhì)Bug首秀”, 或者 “文檔”. 這些標(biāo)簽 能夠幫助新人快速瀏覽issues以及開始。

最后,撰寫讓人賞心悅目的文檔,進(jìn)一步讓人感到愉悅和舒服。

你不可能做到與項目中的絕大多數(shù)人產(chǎn)生互動,你們可能沒有收到一些貢獻(xiàn),因為有些人感到害怕或者不知道該從何處開始,有時候即使是幾個字也能阻止一些人沮喪地離開你們的項目。

例如,這里是Rubinius 如何開始它的貢獻(xiàn)指南

我們想感謝你們使用Rubinius。這個項目是一個充滿愛的工作,我們希望所有用戶查找bugs,取得性能上的提升,以及幫助完善文檔。每一個貢獻(xiàn)都是有意義的,所以感謝你們的參與。話雖如此,但我們還是要求你們遵守一些指南,這樣我們就能夠找到你們的issue。

共享項目所有權(quán)

avatar

社區(qū)的領(lǐng)導(dǎo)者們有著不一樣的意見,而這也是所有健康社區(qū)能夠成長的原因之所在!終究你會明白,粗暴魯莽的做法不能得到大家的認(rèn)同,謙虛低調(diào)的做法更容易讓大家接受,才是王道。

@sagesharp , “是什么成就一個好的社區(qū)?”

當(dāng)大家覺得自己就是項目的主人時,他們就會非常樂意為項目做貢獻(xiàn)。但這并不意味著要去改變項目的愿景,又或者接受不想要的貢獻(xiàn)。但是社區(qū)越信任他們,他們就會越忠實。

要嘗試去盡快的找到讓人們覺得社區(qū)就是自己的路徑,這里有一些經(jīng)驗和大家分享:

  • 不要親自去修復(fù)簡單(非關(guān)鍵)的缺陷。 相反,將這些缺陷作為招募新貢獻(xiàn)者的工具,或者指導(dǎo)想要參與貢獻(xiàn)的人。開始時可能效果不是很理想,但經(jīng)過一段時間你們會得到想要的結(jié)果。例如,@michaeljoseph 要求一位貢獻(xiàn)者提交一個pull request在一個Cookiecutter issue的下面,而不是自己修復(fù)它。

cookiecutter issue

  • 在項目中添加一個貢獻(xiàn)者或者作者文件 用于記錄每一個參與貢獻(xiàn)的人。
  • 如果社區(qū)有了一定的規(guī)模,那么 發(fā)送一封信或者發(fā)表一篇博客 感謝貢獻(xiàn)者們。Rust的Rust周報 和Hoodie的Shoutouts 就是兩個非常好的范例。
  • 給每個貢獻(xiàn)者提交的通道。@felixge 發(fā)現(xiàn)這樣會使大家越發(fā)樂意斟酌他們的補丁 ,以及他甚至發(fā)現(xiàn),在他沒有工作的一段時間,項目依然有新的維護(hù)者進(jìn)來。
  • 如果項目是托管在 GitHub 上,那么 將項目從你們的個人賬號轉(zhuǎn)移到一個組織,以及添加至少一個備份管理員。組織能讓與其他人一起工作在同一個項目在變得更加容易。

事實上很多項目只有一個或者兩個做大量工作的維護(hù)者。隨著項目以及社區(qū)越來越大,就會有更多的人參與進(jìn)來。

雖然并不是一直都有人在回答問題,但是你可以去增加一些信號,以讓他人有能夠接觸的機會,越是盡早開始,越是能夠獲得幫助。

avatar

你們最大的興趣是招募喜歡你們項目以及能夠做你們不能做的事的貢獻(xiàn)者。你喜歡編碼,但不喜歡回答issues?那么讓社區(qū)中能做這件事的人去做。

@gr2m , “打造受歡迎的社區(qū)”

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號