開源項目 學會說不

2020-09-08 15:53 更新

把所有的事情都寫下來,當然,對你執(zhí)行你制定的規(guī)則的時候客觀分析實際情況也有幫助。

拒絕別人確實不是很好玩,但是也要表現出專業(yè)程度,比如使用”你的貢獻不符合這個項目的標準”而不是”我不喜歡你的貢獻”這樣顯得粗魯的語句。

作為一個維護者,在很多情況下,你都要拒絕別人:不符合項目規(guī)則的 PR, 某個人脫離了討論的重點,給別人做無關緊要的工作等等。

保持友好溝通

你要學會拒絕的最重要的地方就是 Issue 和 PR 請求。作為一個項目的維護者, 你會不可避免的收到你不想接受的建議。

可能某個貢獻并不在項目的范圍或者和你的期望不合。又或者是可能想法很好,但是實現的卻很爛。

不管是什么原因,在處理這些不符合項目標準的貢獻的時候都要婉轉。

如果你收到了你不想接受的貢獻,你的第一反應可能是忽略或者假裝沒看到。但是這么做會嚴重傷害到別人而且可能會讓你社區(qū)里的其他貢獻者失去動力。

avatar

管理大型開源項目的關鍵就是保證 issue 活躍。盡量避免讓 issue 停滯不前。如果你是一個IOS開發(fā)者,你會知道提交雷達是多么讓人沮喪。您可能會在2年后收到回復,并被告知要再次使用最新版本的iOS。

@KrauseFx , “開源社區(qū)黑客增長”

別因為自己感到內疚或者想做一個好人就把你不想接受的貢獻繼續(xù)保留。隨著時間的流逝,這些你沒有回答的 issue 和 PR 會讓你覺得很不爽。

更好的方式是馬上關掉你不想接受的貢獻。 如果你的項目已經積壓大量的問題,@steveklabnik 可以給你點兒建議,如何高效的解決 issue

第二點,忽略別人的貢獻等于是在社區(qū)傳遞了一個負面的信號。讓人感覺提交一個貢獻是蠻恐懼的事情,尤其是對于剛加入的新手來說。即使你不接受他們的貢獻,告訴他們?yōu)槭裁慈缓笾轮x。這會讓人覺得更舒服。

如果你不想接受某個貢獻:

  • 感謝他們 的貢獻
  • 解釋為什么他們的貢獻不符合 項目的需求范圍,然后提供清楚的建議以供改善,如果你可以的話。和藹一點,但同時也要講原則。
  • 引用相關的文檔, 如果你有的話。如果你發(fā)現你反復收到你不想接受的貢獻,把他們加到文檔以免你重復敘述。

你不需要用超過 1-2 兩句話來回復。比如,當一個celery 的用戶報告了一個window相關的錯誤,@berkerpeksag 這么 回復的

celery screenshot

如果你感覺拒絕別人很不好意思,也很正常,其實很多人都是這樣。就像 @jessfraz 說到的 :

我和很多來自諸如 Mesos, Kubernetes, Chromium 等不同開源項目的維護者交流過,他們都異口同聲的覺得做一個維護者最難的就是拒絕你不想要的補丁。

對于不想接受別人的貢獻這件事不要感到愧疚。如 @shykes 所說開源的第一原則就是 “拒絕是暫時的,接受是永遠的?!?/em> 當然啦,認同別人的熱情還是一件好事,拒絕他的貢獻和拒絕他這個人是兩碼事。(要做到對事不對人。)

最后,如果一個貢獻不是夠好,你沒任何義務接受它。對那些想對你的項目做貢獻的人保持和藹和積極的態(tài)度,但是只能接受那些你確定會讓你的項目變得更好的提交。你說拒絕的次數越多,對你來說拒絕別人就越容易。謹記!

保持主動

要想減少你不想接受的貢獻的數量,首先,在你項目的貢獻指南中解釋如何提交貢獻以及怎樣的貢獻會被接受。

如果你收到太多低質量的貢獻,讓那個貢獻者先多做做功課,比如:

  • 填寫一個 issue 或者 PR 的模板/清單
  • 在提交PR之前先開一個 issue

如果他們不遵從你的規(guī)則,馬上關掉 issue 并引用你的文檔。

當然啦,這么搞一開始是不太舒服,但是你主動一點確實對雙方都好。它減少了某個人花了太多時間到一個你不想要的 PR 上的可能性。而且讓你管理起來更輕松。

avatar

理論上,在 CONTRIBUTING.md 文件里面告訴別人在他們開始干活之前如何更清楚的知道的干完之后會不會被接受。

@MikeMcQuaid , “優(yōu)雅的關閉 PR “

有時候,當你說不的時候,你潛在的貢獻者會感到對你的沮喪或者不爽。如果他們開始找你撕逼了,采取必要的措施以應對局勢 或者干脆把他們從你的社區(qū)開除,如果他們不打算和你保持建設性的合作關系的話。

成為導師

可能在你的社區(qū)里有人不斷提交一些不符合項目需求的貢獻。對你們雙方來說,不停的拒絕他的提交,會令雙方都很尷尬。

如果你發(fā)現有人對你的項目很上心,但是就是需要調教,那就耐心一點。給他解釋明白每次它的提交為什么不符合項目需求。嘗試著讓他先做一些簡單一點的事,比如那些標有 “good first issue” 標簽的 issue,以此讓他慢慢習慣。如果你有時間的話,考慮教 Ta 怎么完成第一次貢獻,或者在社區(qū)找一個人教 Ta。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號