# 選擇一個許可證
當選擇為項目應用一個許可證時,如果可能,請盡量選擇一個而不是建一個新的。選擇已有的許可證有兩個原因:
-
熟悉度。如果你使用最流行的三,四個許可證之一,人們會感到在使用代碼前不需要閱讀這些法律條款,因為他們之前已經閱讀過了。
-
質量。除非你有一個可以支配的律師團隊,否則你很難得到一個法律堅實的許可證。這里說的許可證時大量思想和經驗的產品;除非你的項目確實有不同尋常的需要,你不太可能做的更好。
關于應用這些許可證的某個到你的項目,見[Chapter?2, *起步*](# "Chapter?2.?起步")的[the section called “如何為你的軟件應用許可證”](# "如何為你的軟件應用許可證")。
### MIT / X Window System License
如果你的目標是希望代碼能被最大可能數量的開發者和衍生作品使用,而且你對這些代碼用于私有程序不太在意,選擇MIT / XWindow System許可證(這樣命名是因為它是麻省理工學院發布的X Window System代碼的許可證)。該許可證的基本信息是“你可以任意的自由使用這些代碼。”它與GNU GPL兼容,而且簡短、簡單和易于理解:
~~~
Copyright(c) <年份> <版權所有者>
現授予的權限,免費向任何人索取該軟件和相關的文檔文件
(“軟件”),以處理軟件,沒有任何限制,包括但不限
于使用權,復制,修改,合并,出版,發行,授權,和/或銷
售軟件的副本,并允許的人提供的軟件是這樣做,但須符合
下列條件:
上述版權聲明和本許可聲明中應包括所有副本或實質性部分
的軟件。
該軟件是“按原樣”提供,不做任何保證,明示或暗示,包
括但不限于適銷性,針對特定用途的適用性和非侵權的。在
任何情況下,作者或版權持有人對任何索賠,損害賠償或其
他責任,無論是在一項行動的合同,侵權或其他因出于或有
關的軟件或利用等交易必須軟件。
~~~
(取自[http://www.opensource.org/licenses/mit-license.php](http://www.opensource.org/licenses/mit-license.php)。)
### GNU General Public License
如果你不希望你的項目代碼用于私有程序,或者如果你對代碼是否用于私有程序毫無在意,請選擇GNU GPL([http://www.fsf.org/licensing/licenses/gpl.html](http://www.fsf.org/licensing/licenses/gpl.html))。GPL可能當今世界上是最廣泛使用的自由軟件許可證;這種快速的識別性本身就是GPL的主要優點。
當編寫代碼庫時,也就是說代碼主要被用于其他程序,請考慮清楚GPL設置的這個限制是否與你的項目目標一致。在某些情況下—例如,當你試圖取代另一個完成同樣功能的競爭私有庫時—如果以可以將其混入私有程序的許可證方式分發代碼會有一些戰略意義,即使你并不想這樣做。自由軟件基金會甚至為這種情況設計了一種替代GPL:*GNU Library GPL*,不久之后更名為*GNU LesserGPL*(大多數人一直使用首字母縮寫*LGPL*)。LGPL比GPL有更寬松的限制,可以與其他非自由代碼輕松的混合。然而,它也有一些復雜,需要花一些時間理解,所以如果你不會繼續使用GPL,我建議你使用MIT/X樣式的許可證。
### GPL是自由還是不自由?
選擇GPL的一個后果就是會有—小的,但不是無限小—的可能卷入GPL是否為真正“自由”的爭論中,考慮到它為你如何處置代碼設置了一些限制—也就是代碼不能以其他任何許可證分發。對于某些人,這些限制的含義是GPL比諸如MIT/X的寬松許可證有“較少的自由”。這種爭論會一直在繼續,當然,因為“更多的自由”比“較少的自由”更好(畢竟,誰不喜歡自由?),下面是這些比GPL更好的許可證。
這種爭論是另一場圣戰(見[Chapter?6, *交流*](# "Chapter?6.?交流")的[the section called “避免圣戰”](# "避免圣戰"))。避免參與,至少不要在項目論壇。不要試圖證明GPL更自由或是更不自由,或者比其他許可證更自由。相反,強調你的項目選擇GPL的原因。如果許可證的可識別性是一個原因,說出來。如果是為了強制衍生作品的自由許可證,也說出來,但是拒絕陷入這是否會使代碼更自由的討論。自由是一個復雜的主題,如果術語繼續用于作為事實的掩飾,這種討論毫無意義。
因為這是一本書,而不是郵件列表討論,然而,我必須承認我從沒有理解“GPL是不自由的”論據。GPL設置的唯一限制是防止人們設置*進一步*限制。說這樣不自由對我來說就像是在說失去法律保護的奴隸制減少了自由,因為它防止了某些人擁有奴隸。
(噢,如果你陷入了這樣一場爭論,不要使用激烈的類比來提升自己的證據。)
### 那BSD許可證呢?
有大量開源軟件使用*BSD許可證*(或者有時*BSD樣式的許可證*)分發。原始的BSD許可證用于Berkeley軟件分發版本,是加利福尼亞大學分發的Unix實現的重要部分。該許可證(完整的文本在[http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6](http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6)的2.2.2)與MIT/X許可證有相似的精神,除了這個條款:
> *所有提及該軟件特性或使用的宣傳材料必須包含如下致謝:該產品包含加州大學Lawrence Berkeley實驗室的軟件。*
這個條款的出現不僅使得最初的BSD許可證不兼容,也設置了一個危險的先例:其他組織也在*他們的*自由軟件中設置了類似的廣告條款—用他們自己組織的名稱代替“加州大學,Lawrence Berkeley實驗室”—軟件分發商面對了一個日益增長需要顯示什么的負擔。幸運的是,許多使用這種許可證的項目注意到了這個問題,并刪除了這個廣告條款。在1999年,甚至加州大學也放棄了這個條款。
結果是修訂的BSD許可證,僅僅是刪除廣告條款的原始BSD許可證。然而,這個歷史使得“BSD許可證”有一些曖昧:它指的是原始的還是修訂的版本?這就是我傾向于MIT/X許可證的原因,本質上是相同的,但不會面對這種不明確。然而,也有一個選擇修訂的BSD許可證而不是MIT/X許可證的原因,也就是BSD有這個條款:
> *在經過特定的預先書面許可之前,<組織>的名稱和貢獻者的名稱都不可以用于支持或提升此軟件衍生的產品。*
不清楚如果沒有這個條款,軟件的接受者是否擁有使用許可者的名稱的權利,但這個條款清除了這個可能的疑問。對于擔心商標控制的組織,修訂的BSD許可證可能比MIT/X更好。大體來說,一個自由主義的版權許可證并沒有暗含了接受者可以使用或削弱您的商標的權利—版權法和商標法是兩個不同的東西。
如果你希望使用修訂的BSD許可證,這里有一個模板[http://www.opensource.org/licenses/bsd-license.php](http://www.opensource.org/licenses/bsd-license.php)。
- 前言
- 為什么寫這本書?
- 誰應該讀本書?
- 資料來源
- 致謝
- 免責聲明
- 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. 版權