[譯] 為什麼我還沒 Fix 你的 Issue

LeviDing發表於2017-08-17

你好,你在 GitHub 上的專案中提出的一個問題,現在已經過期了。

我早就體會到了 GitHub 的親切,它可以給我傳送一封我在兩週前早晨時掃過一眼的關於你的相關資訊的郵件。從那以後,我已經簡單地想過了幾次,有一次我在淋浴的時候,我得到了一個模糊的想法,我知道是什麼造成的 —— 但我不確定,因為我不記得具體細節。

當然,你不知道這一切。你想知道你的問題是不是已經沉沒無效了 —— 這對你當前的專案可能至關重要 —— 你已經被困在其中了。請允許我用幾分鐘解釋你為什麼沒收到我的回覆。

幾年前,我是一個自由職業者和一個新生兒的父親。我有很多自由的時間,讓我做事更加靈活,我的小孩因為很小,不會到處亂跑,這也讓我不用太費心。那時我開始寫相關的程式設計庫並在 GitHub 上釋出。看到人們使用我的程式碼是很令人興奮且感覺付出得到了回報。在 GitHub 上收集星星是一個會上癮的樂趣,就像任何其他型別的“虛擬網際網路點數”一樣。我有足夠的時間來處理問題並做相應的改進,我一般會在一兩天之內回覆(並經常解決)問題。

現在我的工作是全職的。我有一個年齡很小的孩子,還有另一個大一點的孩子。小孩既不溫柔也不固定。如果我很幸運,我可以能夠有一個小時的空閒時間 —— 一般在晚上 9 點到晚上 10 點之間。

你知道在這段時間裡我喜歡做什麼嗎?很不幸,我的答案不是「啟動我的 IDE,建立管道,啟動一個本地的伺服器,並嘗試修復別人的問題」。我不是要譴責,我只是說實話。我疲憊的夜晚,大多數時間都難以勝任這項任務。通常我喜歡坐在沙發上,享受坐著的感覺。

那麼,這會有什麼影響呢,我的程式設計庫的使用者?我不再在乎你遇到的問題了嗎?你是否因為在你的專案中使用我的程式設計庫,而使公司失敗了?在這個自由和開放原始碼軟體(FOSS)的世界中,我們都生活在這樣的環境下,你公司的產品中有多少部分與一些獨立的、無償的軟體包維護者的生活方式和優先順序聯絡在了一起?這也是我必須考慮的事情 —— 在我的一天工作中,我在許多 FOSS 庫之間構建軟體,其中許多都可能在類似情況下由我自己維護。

與生活中的一切一樣,涉及到權衡。有一個隱含的協議,需要被 FOSS 專案的消費者和創造者所理解[1]。它是這樣的:

  • 我同意免費為你提供一些解決問題的程式碼。
  • 我承認,在這樣做的時候,我為我的程式碼的使用者承擔了一小部分的責任。
  • 如果你難以使用我的程式碼,我同意嘗試幫助你。
  • 我同意嘗試修復你在我程式碼中找到的錯誤。
  • 你同意,我無薪酬付出但是有權利按照我的意願給上述幾點分配優先順序。

最後一點就是為什麼我還沒有解決你的問題的原因。你的問題正在與我的工作、我的家人、我的其他興趣,當然還有所有其他需要解決的問題堆在一起,我需要按照優先順序來完成。

所以,我想對所有 FOSS 專案的使用者,以及使用和受益於 FOSS 生態系統的所有開發人員說:

我會盡全力去解決。我真的想幫你。

請認真閱讀 issue template,並按照這種更容易讓我明白的方式提問題。

你需要花時間瞭解、研究和除錯你的問題 —— 不要把這個負擔推到我身上。

你要明白我不一定會在看似非常合理的時間內回覆。你也儘量別做那個非常粗魯、侮辱別人的人(我不會因為你的行為而更關注這個問題)。

感謝你的閱讀,程式設計愉快。

  1. 本協議適用於以某種方式進行推廣的專案。如果你告訴人們“嘿,你應該使用我的東西”,那麼你已經和他們簽訂了這個協議。如果你僅僅是把你的東西放在 GitHub 上,那麼它不一定適用。

掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 AndroidiOSReact前端後端產品設計 等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章