融入開源社區的4條建議

n7w77 9年前發布 | 8K 次閱讀 開源

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

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

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

成為“零”

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

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

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

當考慮其它事情的時候,我對此產生了共鳴,我記錄了與社區的互動,包括我最近發布的博客里面的一篇敘述: ”謙虛,但自信。“

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

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

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

做好你的功課

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

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

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

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

骯臟的工作

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

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

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

  • 文檔

  • 測試/質量保證

  • 錯誤修正/調查分類

  • 用戶界面/用戶體驗

  • 社區管理/溝通

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

尊重每一個人

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

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

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

綜上所述

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

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

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

 本文由用戶 n7w77 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!