# 長期雇傭
如果你正在管理開源項目中的程序員,要盡量保持足夠的時間,這樣他們才能獲得足夠的技術和政治技能—最少也需要幾年時間。當然,沒有項目,無論是開源還是閉源,都可以從輪換程序員中獲益。新來者搞清楚竅門需要的時間在不同環境下各不相同。但是在開源項目中的代價更加巨大,因為離開的開發者不僅帶走了他們的知識,也帶走了社區中的他們的地位和其中建立的人際關系。
開發者已經積累的信譽不能夠傳遞。一個新來的開發者不能繼承來自離開者的提交權限(可以本章后面的[the section called “錢不能讓你可愛”](# "錢不能讓你可愛")),如果新的開發者還沒有提交權限,在獲得這個權限之前它只能提交補丁。但是提交權限只是所失去的影響中最容易度量的表現。一個長期的開發者也知道郵件列表中所有以前達成和未達成一致的討論。一個新的開發者,沒有這些對話的記憶,也許會再次發起某些討論,這會損失在組織中的信譽;其他人會奇怪為什么“他們什么也記不住?”新的開發者也對項目特性沒有太多政治感覺,所以也不能象老手一樣迅速和平滑的影響開發方向。
通過指導契約的程序來訓練新手。新的開發者第一天就可以與公共開發社區直接交流,從bug修正和清理任務開始,這樣他們可以逐漸熟悉代碼基并在社區獲取聲譽,盡管此時他們還不能在設計討論中蹦出火花。一個或多個有經驗的開發者應當一直負責解惑的任務,閱讀新手在開發列表中的每一篇帖子,即使是經驗豐富的開發者通常不會注意的內容。這可以幫助團隊在新手擱淺之前定位潛在的暗礁。私下的幕后鼓勵和忠告也會非常有益,特別是當新手不習慣大量的代碼平行同級評審的時候。
當CollabNet雇傭新的開發者為Subversion工作時,我們會坐在一起為新人找一些打開的bug來練練手。我們會討論解決方案的技術要點,并讓至少一個有經驗的開發者來評審(公開的)新開發者的補丁(也是公開的)。我們通常不會在主開發列表公開之前查看這個補丁,雖然,如果情況特殊,我們可以如此。重要的是,新開發者經歷公開評審的過程中,在熟悉代碼基的同時,也需要習慣于接受來自完全是陌生人的批評。但是我們會調整時機,保證我們的評審會在補丁發出之后立刻出現。這樣列表中出現的第一個評審就是我們的,這可以幫助我們確立其他評審的基調。它也可以加強一個概念,也就是這個新人需要認真對待:如果其他人看到我們花時間提供詳細的評審,并包含完整的解釋和歸檔中合適的參考,他們會意識到正在進行一種培訓,并意味著一個長期的投資。這可以幫助他們對那個開發者保持正面的態度,至少會花費更多的時間回答問題和評審補丁。
- 前言
- 為什么寫這本書?
- 誰應該讀本書?
- 資料來源
- 致謝
- 免責聲明
- 1. 介紹
- 歷史
- 現狀
- 2. 起步
- 從你擁有的開始
- 選擇許可證并應用
- 設置風格
- 通告
- 3. 技術基礎設施
- 一個項目需要什么
- 郵件列表
- 版本控制
- Bug跟蹤
- IRC / 實時聊天系統
- RSS供稿
- Wikis
- 網站
- 4. 社會和政治的基礎架構
- 慈善獨裁者
- 共識為基礎的民主(Consensus-based Democracy)
- 寫下所有的內容
- 5. 金錢
- 參與的類型
- 長期雇傭
- 作為一些個體出現,而不是一個整體
- 公開你的動機
- 錢不能讓你可愛
- 契約
- 資助非編程活動
- 市場營銷
- 6. 交流
- 人如其文
- 避免常見的陷阱
- 刺兒頭
- 處理成長
- Bug跟蹤系統中無對話
- 公開性
- 7. 打包、發布和日常開發
- 版本號
- 發布分支
- 穩定發布版本
- 打包
- 測試和發布
- 維護多發布線
- 發布和日常開發
- 8. 管理志愿者
- 從志愿者中獲取最多
- 像分擔技術任務一樣分擔管理任務
- 轉化
- 提交者
- 榮譽
- 分叉
- 9. 許可證,版權和專利
- 術語
- 許可證的方面
- GPL和許可證兼容性
- 選擇一個許可證
- 版權分配和所有權
- 雙許可證模式
- 專利
- 深入資源
- A. 自由版本控制系統
- B. 自由Bug跟蹤系統
- C. 為什么我要關注車棚的顏色?
- D. 報告bug的樣例指導
- E. 版權