一分鐘理解 GPL:授權義務、常見誤解與 GPLv2 / GPLv3 差異

一分鐘理解 GPL:授權義務、常見誤解與 GPLv2 / GPLv3 差異

GNU General Public License(GPL)是自由軟體基金會(FSF)發布、最具代表性的 Copyleft 開源授權。它的核心精神是:你可以自由使用、修改、散布軟體,但散布衍生作品時,也必須用 GPL 釋出並提供原始碼,確保軟體的自由一路傳遞下去。

GPL 一句話重點

拿了 GPL 的程式碼修改或結合,只要對外散布,整個衍生作品就要以 GPL 授權並公開原始碼。

使用 GPL 軟體時的義務

  • 提供原始碼:散布執行檔時,必須同時提供或承諾提供對應的完整原始碼
  • 沿用相同授權:衍生作品必須以相同版本(或相容版本)的 GPL 釋出
  • 保留版權與授權聲明:不可移除原作者的版權資訊
  • 不得附加額外限制:不能透過額外條款限制接收者的權利

常見誤解

只要用到 GPL 程式,我的程式就得開源?

不一定。GPL 的義務在「散布」時才觸發。公司內部自行修改、內部使用而不對外散布,不需要公開原始碼。

把 GPL 軟體架成網站服務,要開源嗎?

一般 GPL 不要求。但如果是 AGPL(Affero GPL),透過網路提供服務給使用者,也必須提供原始碼,這是 AGPL 與 GPL 最大的差異。

GPL 軟體可以拿來賣錢嗎?

可以。GPL 不禁止收費,但買方取得軟體後,同樣享有修改與再散布的權利。

GPLv2 與 GPLv3 的差異

  • 專利條款:GPLv3 明確授予專利授權,防止貢獻者事後以專利控告使用者
  • 反 Tivoization:GPLv3 要求消費性裝置不可用硬體鎖住使用者安裝修改版軟體
  • 相容性:GPLv3 與 Apache License 2.0 相容,GPLv2 則否
  • 代表專案:Linux 核心採 GPLv2(only),許多 GNU 工具採 GPLv3

GPL、LGPL、MPL、MIT 比較

授權Copyleft 強度修改後要開源的範圍可否與閉源程式結合代表專案
GPL強整個衍生作品不行(散布時整體須採 GPL)Linux 核心、Git、WordPress
LGPL弱(函式庫層級)函式庫本身可以,透過連結使用glibc、GTK、Qt(LGPLv3 選項)
MPL 2.0弱(檔案層級)被修改的 MPL 檔案可以,以檔案為界Firefox、Thunderbird、LibreOffice
MIT無(寬鬆授權)不需開源,保留版權聲明即可可以React、jQuery、Node.js

延伸閱讀

本文僅為授權概念的入門整理,不構成法律意見。實際條款請以官方英文版全文為準,商業產品涉及授權問題建議諮詢專業法律人士。

You may also like