# 為什么寫這本書?
在聚會上,當我告訴別人我寫自由軟件時,人們不再是一副茫然的表情。他們會說,“哦,開源軟件—就像linux?”我使勁地點頭:"對!我就是做那個的。"不再被涼在一邊的感覺真好。要在過去,下面的一個問題通常會是這個:“你靠那個怎么掙錢?”為了回答他們,我必須概述開源軟件的經濟學:有一些組織對某個特定軟件的存在感興趣,但他們不需要賣拷貝,而是確保這些軟件能夠免費獲得并且有人維護,能夠作為工具而不是商品使用。
然而之后的問題不再總是同錢有關。開源軟件[[1](#)]的商業案例不再是如此神秘,許多的非編程人士已經了解到—或至少不再驚奇—確實有一些人被雇傭全職做開源。于是,我越來越頻繁地被問到的第二個問題是:“*那么,開源軟件是怎么運作的?*”
我手頭沒有現成的滿意的答案,更困難之處在于當我試圖給出一個時,我意識到它是一個多么復雜的題目。運行一個自由軟件項目完全不同于商業運作(想像一下必須時常同大部分你從未謀面的志愿者們商討產品的特性的情景! )。由于某些原因,也和傳統的非盈利組織不同,也不同于一個政府。與上述事物有許多相似性,但我漸漸得出了一個結論,自由軟件是*獨一無二的*。有許多事情可以與之比較,但沒有一個與之完全等同。實際上,即使對于自由軟件項目可以“運行”的假設也是一種引申。一個自由軟件項目能被*開啟*,并且會受到對此感興趣的團體的強烈影響,而且它的資產不屬于任何一個個人或團體,會源源不斷從某些地方冒出對此感興趣的人,所以它不會被—任何人—單方面地終止。每個人都有無限的權利,每個人又都沒有權利。它形成了這樣一種有趣的動態平衡。
這就是我要寫此書的原因。自由軟件運動已經進化出了一種獨特的文化,一種信奉個人能夠讓軟件做任何事情、自由為中心信條的思想,這種自由的結果并不是讓每個人對代碼各行其事,而是是狂熱的合作。實際上,在合作中競爭也是自由軟件運動中最有價值的技巧之一。管理這樣的項目就是處理一堆龐大的合作關系,在這里個人能力不僅是和他人一起工作,而且包括通過一條嶄新的合作方式對軟件做出實際的貢獻。這本書試圖描述實行這種方式所需要的技術。它不會包含全部,但卻是重要的起步。
優秀的自由軟件本身就是極有價值的目標,我希望那些在本書中尋找創造成功軟件方法的讀者能夠得到滿意的答案。除此之外,我想傳達那種純粹的快樂,來自同充滿活力的開源軟件開發團隊的合作,來自通過開源軟件所鼓勵的直接方式與用戶的交流。成為一個成功的自由軟件項目的一分子是*有趣的*,這才是驅動整個系統運轉的終極動力。
[[1](#)] 術語“開源”和“自由軟件”在此處的上下文中本質上是同義詞。有關他們的更多討論參見[Chapter?1, *介紹*](# "Chapter?1.?介紹")中的[the section called ““自由”還是“開源””](# "“自由”還是“開源”")。
- 前言
- 為什么寫這本書?
- 誰應該讀本書?
- 資料來源
- 致謝
- 免責聲明
- 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. 版權