# 雙許可證模式
一些項目希望通過雙許可證模式資助自己,也就是私有衍生作品向所有者支付使用代碼的版權,但代碼對于開源軟件依然免費。很自然,代碼庫比獨立應用更適合這種方式。精確的條款各不相同。通常其屬于自由的許可證為GNU GPL,因為它已經禁止了他人在未經版權持有者允許前,將覆蓋的代碼組合到他們的私有產品中,但是有時一些自定義許可證起到相同的效果。前者的一個例子是MySQL許可證,這里有描述[http://www.mysql.com/company/legal/licensing/](http://www.mysql.com/company/legal/licensing/);后者的例子是Sleepycat軟件許可證策略,描述在[http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html](http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html)。
你或許有些疑惑:為什么明明GNU的GPL規定代碼必須在較少約束的條款下發布,而版權持有者還可以提供私有許可證。答案是GPL的條款是版權持有者為所有其他人設置的;而所有者可以自由的決定*是否*對其本身應用這些條款。對此,一個好的理解方法是想象版權所有者在桶里有無數份軟件的拷貝。每次它從桶中取出一個發送到世界上時,它可以決定是采用GPL,私有或其他許可證。這并不是僅僅與GPL或其他任何開源許可證相關,它僅僅是版權法所賦予的權利。
雙許可證的吸引力在于,為自由軟件項目提供了一種可靠的收入來源。不幸的是,它也可能干擾開源項目本身的一般動力性。問題是任何為代碼作出貢獻的志愿者現在開始為兩個不同的實體貢獻:代碼的自由版本和私有版本。當然,貢獻者會樂于貢獻自有版本,因為這是開源項目的標準,如果是為他人的半私有收入貢獻,她會感到可笑。由于雙許可證的這一事實加劇了這種尷尬,版權所有者確實需要從所有貢獻者收集正式的,簽署的版權授權,從而才能保護自身之后不會受到不滿的貢獻者對于從私有收入中獲取自己份額的指控。收集這種授權文件的過程意味著貢獻者要嚴酷的面對這一事實,他們在為別人賺錢而工作。
不是所有的志愿者會因此而困擾;畢竟他們的貢獻也進入了開源版本,這是他們的興趣所在。雖然如此,雙許可證是版權持有者賦予自己,而項目中的其他人所沒有的特權的一個例子,而且一定程度上會引起一些緊張,至少對某一些志愿者。
在實踐中,我們看到許多基于雙許可證軟件的公司確實沒有真正平等的開發社區。他們只能從外部獲得很小規模的bug修正和清理補丁,而通過內部源做大量艱苦的工作。例如,Zack Urloker,MySQL的副主管告訴我,公司通常最終會雇傭最活躍的志愿者。因而,盡管產品本身是開源的,使用GPL許可證,它的開發還是或多或少受到公司的控制,雖然也可能有人確實不滿意這個公司把持著這個軟件而分叉這個項目。一定程度上,這種威脅迫使公司政策的內容,但在也有一定幾率,MySQL沒有發現在開源世界或之外存在著接受的問題。
- 前言
- 為什么寫這本書?
- 誰應該讀本書?
- 資料來源
- 致謝
- 免責聲明
- 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. 版權