常見開源授權條款筆記:GPL、MPL、Apache、MIT、BSD
整理自 6種常見的開源軟體授權條款解析(GYB/方格子),以開發者視角濃縮「再散布義務」與選授權參考。
開源不是「沒有著作權」,而是作者透過授權條款,事先約定他人能怎麼用、怎麼改、怎麼再散布。實務上常卡在兩個問題:
- 我能不能拿別人的碼進商業專案?
- 我改完再發布,有沒有義務開源?
下面依「強制回饋」的強度,從強到弱快速對照六種常見類型。
一、光譜先看清楚
| 類型 | 代表授權 | 一句話 |
|---|---|---|
| Copyleft(強) | GPL | 改了再散布,通常得整包繼續用 GPL,並提供原始碼 |
| 弱 Copyleft / Copycenter | MPL | 原始碼檔案層級要維持開放;編譯後的執行檔相對寬鬆 |
| 寬鬆許可(Permissive) | Apache、MIT、BSD | 可閉源再發布,條件多半是保留著作權與授權聲明 |
| 專有(Proprietary) | 各種 EULA | 沒有公用授權條款,權利幾乎全在所有人 |
多數授權不禁止商業使用;卡點通常是「能不能閉源」,不是「能不能賣」。
二、Copyleft:GPL 類(General Public License)
GPL-3.0 核心精神:
- 散布原作與衍生作品時,原則上必須繼續採用 GPL(LGPL 另有例外)
- 不禁止商業使用
- 修改後須標示/說明修改處
- 須保留著作權資訊與 GNU 授權條款
- 必須能取得原始碼(不能只給混淆/編譯後產物當「原始碼」)
- 有較完整的智慧財產、責任限制與法律衝突相關約定
由 Richard Stallman 一带提倡,Linux 生態常見。特色是「再散布時條款綁死」:多數商業產品會刻意避開把 GPL 程式碼嵌進要閉源的成品,以免整包變難閉源。
但 GPL 本身並不禁止商業——例如 Red Hat Enterprise Linux 仍以授權模式營運,只是下游同樣受 GPL 拘束。
LGPL 的妥協
LGPL(Lesser GPL) 放寬「一定要整包 GPL」的壓力:
- 若只以 Dynamic Link(動態連結) 呼叫 LGPL 函式庫,主程式可不必採 LGPL(可閉源)
- 若 修改 LGPL 原始碼,或 Static Link(靜態連結) 使軟體成為衍生作品,再散布時通常仍須維持 LGPL
FSF(自由軟體基金會)並不特別鼓勵新專案優先選 LGPL;它更像普及函式庫時的務實折衷。
三、弱 Copyleft:MPL 類(Mozilla Public License)
MPL-2.0 核心精神:
- 執行檔/目的碼 可改採其他授權(含閉源),但須說明如何合法取得原始碼
- 原始碼 仍須具備,且相關檔案層級維持開放精神
- 不禁止商業使用
- 須保留著作權資訊,並能取得 MPL 條款(連結或全文)
- 智財、責任、管轄、準據法等條文相對完整
最初由 Netscape 起草、Mozilla 基金會維護。相較 GPL「整包都必須 GPL」,MPL 落在中間:
- 不像 MIT/BSD/Apache 那樣,衍生作品可整包完全私有化
- 也不像 GPL 要求原始碼與執行檔都全面 copyleft
另:MPL-2.0 與 GPL 類結合時,允許為相容而讓衍生作品轉採 GPL 類授權,增加開源生態互用性。條款裡對專利、商標「不授權」、管轄與免責也寫得較細,被視為法律結構較完整的一類。
四、寬鬆許可:Apache、MIT、BSD
Apache License(Apache-2.0)
- 不強制一定要散布原始碼;執行檔可用 NOTICE、畫面顯示等方式保留授權與著作權資訊
- 衍生作品不一定要繼續用 Apache,但修改處通常須標註
- 明確處理著作權、專利授權,並聲明不授商標
- 有責任限制條款(免責能否完全抵觸強制法規,仍視各地法院)
概念上較接近著作權法「衍生作品可各自負責」:改良者為自己的改動負責,也可重新決定授權方式;原作者資訊保留在 NOTICE「族譜」裡,避免攀附原品牌。
商業團隊共同開發時,原文作者較推薦這條路線——條款夠完整(含專利),又不會像 GPL/MPL 那樣強綁回饋開源。
MIT License
- 不禁止商業使用
- 須保留著作權資訊與 MIT 條款(條款文字本身可依需求調整)
- 通常無須標示修改了哪些地方
- 未完整規範專利/商標
條款極短、門檻最低。衍生作品能否改授權雖無明文,實務多認為可改,但應移除原 MIT 聲明後再套用自己的條款。適合「想讓別人隨便用、先追求擴散」的專案。
BSD(常見 2-Clause / 3-Clause)
- 不禁止商業使用
- 須保留著作 人/著作權資訊
- 修改通常無須逐段標註
- 有責任限制;整體比 MIT 更簡、權利列舉也較少
精神與 MIT 同屬寬鬆許可。選用時留意是 2-Clause 還是 3-Clause(3-Clause 多「不得用作者名稱背書」之類條件)。
五、專有授權(Proprietary)
軟體所有人握有完整智財權利,沒有「公用條款」可供第三人自由再散布。閉源商業軟體多屬這類;「免費」≠「開源」。
六、怎麼選?快速對照
| 你在意的事 | 較常往哪走 |
|---|---|
| 希望後人改了還必須回饋社群、保持開放 | GPL(函式庫動態連結妥協可看 LGPL) |
| 檔案要開源,成品執行檔想較彈性 | MPL |
| 商業協作、要專利條款、又不想強綁 copyleft | Apache-2.0 |
| 幾乎零摩擦擴散,條款越短越好 | MIT / BSD |
| 產品要完全閉源、自行控權 | 專有授權(並小心依賴是否踩到 GPL) |
原文結語的實務傾向也很清楚:
- 商業團體共同開發 → 偏 Apache
- 不在乎別人怎麼用、希望盡量散播 → 偏 MIT / BSD
- MPL 法律對應較完整,但原始碼仍有弱 copyleft,商業閉源仍可能猶豫
參考來源
- 6種常見的開源軟體授權條款解析 — GYB,方格子「開源與法律」
- MIT License
- BSD-3-Clause
本文為學習筆記整理,非正式法律意見。實際選授權與合規請再對照授權全文,必要時諮詢法務。