# Chapter?4.?社會和政治的基礎架構
有關自由軟件,人們經常問到的第一個問題是:“它能行嗎?如何保持項目一直運行?誰來做決定?”我一直對關于知識界精化、合作精神、代碼會說話此類的平淡回復無法感到滿意。事實是這個問題很難回答。知識界精化、合作精神和運行代碼只是其中的一部分,但它們對于解釋日復一日的項目運轉貢獻不多,對于如何解決沖突什么也沒說。
本章嘗試展示支持成功項目的共同結構。 “成功”不僅僅指的技術質量方面,而且也包含了運行健康狀況和生存性。運行健康狀況是指項目將新代碼和新開發者吸收進來,并對到來的bug負責的持續能力。生存性是項目獨立于任何單獨參與者或贊助商而存在的能力—考慮一下如果項目所有的創始成員離開后項目繼續運作的可能性。技術成功不難實現,但是如果沒有健壯的開發者基礎和社會基礎,一個項目就不能處理由初始的成功帶來的成長,或者有魅力個體的離開。
獲取此類成功有很多方法。有些涉及正式的管理結構,通過哪些爭論被解決、新開發者被邀請加入(有時是離開)和計劃的新特行等等。還有一些涉及不太正式的結構,但需要更有意識的自我克制,來產生一種人們可以依賴的正直氛圍,作為*事實上的*管理形式。兩種方式都產生相同的結果:一種由來已久的永恒感覺,由所有參與者都充分理解的習慣和程序作為支撐。這些特性在自我組織的系統中甚至比集中控制的系統更重要,每個人都知道一個壞蘋果可以毀掉一桶,即使只是一會兒。
# 分叉能力(forkability)
能將開發者綁定在一個自由軟件項目中的必需組成部分,能讓他們在必要時愿意作出妥協,是代碼的*分叉能力*:也就是任何人可以使用一個拷貝并使之成為一個競爭項目的能力,被稱為*分叉*。怪異的是自由軟件項目的中分叉*可能性*具備比實際的分叉更大的動力,很少會發生。因為分叉對于每個人都不好([Chapter?8, *管理志愿者*](# "Chapter?8.?管理志愿者")的[the section called “分叉”](# "分叉")會解釋詳細原因),分叉的威脅越大,越期望的人就越會妥協去避免它。
分叉,更確切說是分叉的可能性,是自由軟件項目中沒有真正獨裁者的原因。考慮到在一個特定開源項目中聽到某人被稱為“獨裁者”或者“暴君”是多么常見,這看起來是一個令人驚訝的斷言。但是此類暴政是特別的,與一般意義上的字面理解非常不同。想象一下一個國王的臣民可以在任何時候復制整個王國,并搬過去按自己滿意的規則統治。這與國王無論如何做,臣民都無法離開的情況是多么的不同?
這也是為什么即使項目不是完全按照民主方式組織時,在實踐中,重要決定還是通過民主方式產生。可復制性暗指了分叉能力;分叉能力暗指了意見一致。也可能是每個人都希望與一個領袖不同(最有名的例子是在Linux內核開發中的Linus Torvalds),但那是因為他們*選擇*如此,以一種非憤世嫉俗和非邪惡的方式。暴君沒有項目的定身法。所有開源許可證都有一個關鍵特性,也就是在代碼如何變更或使用上沒有給任何組織更多的權力。如果一個獨裁者突然開始做了一個壞的決定,就從此不得安寧,緊接著就是造反和分叉。除非,當然,很多時候不會到這一步,因為獨裁者會首先妥協。
但僅僅因為分叉能力放置了一個上一個人在一個項目中發揮多少力量的上限,并不意味著項目的管理方式沒有太大的區別。你不會希望每個決定都是某人要考慮分叉后的結果。那樣會讓人迅速疲倦,喪失真正工作的能量。下面兩個小節會仔細檢查組織項目平穩做出大多數決定的不同方法。這兩個都是極端理想的例子;許多項目會處于中間狀態。
- 前言
- 為什么寫這本書?
- 誰應該讀本書?
- 資料來源
- 致謝
- 免責聲明
- 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. 版權