融入開源社群的4條建議

edithfang發表於2015-03-23
我兒時的兩個大夢想就是成為消防員或者太空探險家。雖然我並沒有為這兩大夢想做什麼,但我在由加州消防部門舉辦火災預防中成為一名志願者也算是實現了前者, 對於後者,我閱讀了我所能獲得的每一樣關於太空的資料,包括了小說和非小說。

最近我拿到一本 Col. Chris Hadfield寫的關於宇航員生活的書, 航天員在地球上的生活指南, 並在我去亞洲國際旅行的路上讀一讀。

除了很飢渴地去閱讀 (我非常建議這樣子),它也會一直啟發我如何才能做好我自己的工作,同時如何建議內部開發者和三星公司這一整體在開源工作中表現得更好。

成為“零”

在這本書的第9章, Hadfield 寫到:

“在任何情況下。。。。。。你都會被當作為以下三種人之一。“負”:即非常有害的,製造麻煩的人;或者,“零”:留下中立的印象,不會打破這個平衡的人;或者,“正”:增加價值的人。當然,每個人都想成為”正“,有價值的人。但是,一開始就聲稱自己是”正“,這幾乎就宣告你是”負“了,不論你帶來了什麼技術【或者價值】,或者你實際表現的怎樣。”


雖然這聽起來有點失敗主義的味道,但實際上,這與個人或者企業,如何在開源中開展工作是緊密相關的。

當考慮其它事情的時候,我對此產生了共鳴,我記錄了與社群的互動,包括我最近釋出的部落格裡面的一篇敘述: ”謙虛,但自信。“

當我考慮 Hadfield 的話的時候,對我來說,這非常清晰,他正在談論同樣的事情。當你是任何開源社群裡一員的時候,你理所當然想成為”正“(創造價值的人),但是你需要儘可能成為”零“(中庸之人)--不會打破平衡--特別是處於互動的時候。

這適用於個人開源開發者,但是對於那些代表公司工作的來說更是這樣。沒有任何事情,比從一開始進入開源社群就嘗試成為“正”(創造價值的人),更容易讓開源社群,往好裡說是忽略你,或者,往壞裡說是反對你。

這是否就意味著你應該縮到幕後,至此不再公開發表觀點了呢?當然不是,這裡有一些你可以參考的指導原則,幫助你到達“正”(創造價值的人)的狀態。

做好你的功課

決定參與到開源專案前,做好你的功課或研究是無可替代的也是無捷徑可走的。

其他還包括,你要知道如何與社群溝通(郵件列表,論壇,網際網路中繼聊天(IRC))。同時也要知道如何提出你的想法(漏洞跟蹤系統或郵件列表)並且進行討論。

此外,它有助於瞭解社群是如何治理的-是分層級的管理者/輔助管理者(如Linux核心),或者差不多是一個扁平結構(如Debian專案)?瞭解這些可以幫助你識別專案中的關鍵領導者和影響者,當你開始提出改變或新的想法的時候,這將有幫助。

最後,理解開發的流程是至關重要的-一個bug或新功能在被納入主線之前需要經過多少個階段?一些方面是否比其方面更有爭議的?當你修復一個bug或提出並實施新的功能的時候所有這些研究將幫助你。

骯髒的工作

在解釋如何首次進入國際空間站,哈德菲爾德寫道:

“給一個全新的環境做貢獻最好的方法不是試圖證明你有多棒。而是通過施加中性的影響,先觀察已經在這個環境中的人們的行為並向他們學習,適時地參與繁重工作。”

一個開放原始碼專案就像在空間站,有無數的任務需要完成。是的,最榮耀的工作可能就是編寫程式碼,但幾乎所有我見過的專案都迫切需要完成以下一個(或所有)的任務:

  • 文件
  • 測試/質量保證
  • 錯誤修正/調查分類
  • 使用者介面/使用者體驗
  • 社群管理/溝通


常常參與這些任務中的一個,你會獲得專業的知識和獲得你之前沒有的專案知識。隨著時間的推移,你也會向其他社群成員證明你是值得信任的,可以承擔更多的責任。

尊重每一個人

近些年有大量評論說,開源專案是“危險的工作環境”,因為在郵件列表、IRC 等裡面充斥著大量尖酸刻薄的言論。不管怎樣,向我告訴三星(還有其他的我工作過或做過諮詢的公司)的員工一樣,“永遠不要丟掉你的職業化水平(包括在開源專案中)”

虛心接受別人給你的意見(即使對方表達方式欠妥),然後重構你的程式碼,採納別人的建議,或者對郵件列表的問題進行註解等,對提高開源環境中的工作效率都是非常重要的。無區域差別的文化交流也起到很重要的促進作用。記住,與參與專案的開發者的所有的私下溝通也是一樣的重要。

Hadfield (加拿大第一位太空宇航員)講過一個故事,關於那些不適應與他人合作,或者對待醫療團隊或其他一些支援團隊態度惡劣的宇航員,他們在基礎層面上就是不合格的。也許你在自己的領域是一個非常聰明的開發者,但是除非你能與人和睦溝通,尊重每一個人,否則你不太可能在長久的在開源社群中獲得成功。

綜上所述

所有這些觀點都指向了一個這樣的事實:理解你的環境。Hadfield 做了這樣漂亮的總結:

”當你有了一些技巧但是不能完全理解你的環境,你沒有辦法更進一步。即使是最好的情況,你還是在原地踏步。但是原地踏步並不是壞的事情。你還沒有足夠的能力去解決問題,這或許可以讓其他人能更好地工作吧。你必須勝任,才能解決那些問題,在那之前你還是先做其他的吧。“


最重要的是要記得將他的那本誕生於努力爭取來的(生死攸關的)解決方案,放在書中將經驗進行分享。與此同時,開源專案工作的有效性已經不可同日而語,他分享的關於生活和工作在海拔255英里的經驗,是在不同民族間合作的努力成果,同樣也適用於開源社群成員間的信任建立。
相關閱讀
評論(1)

相關文章