GNU通用公共許可證
| 英文名 | GNU General Public License(GNU GPL)[1] |
|---|---|
| 發布者 | 自由軟件基金會(Free Software Foundation)[2] |
| 首次發布 | 1989年2月25日(版本1)[3] |
| 最新版本 | 版本3(2007年6月29日)[4] |
| 許可證類型 | Copyleft、自由軟件許可證[5] |
| 兼容性 | 與GNU LGPL、GNU AGPL等兼容[6] |
| 網站 | www.gnu.org/licenses/gpl-3.0.html |
GNU通用公共許可證(英語:GNU General Public License,縮寫:GNU GPL,常簡稱為GPL)是由自由軟件基金會(FSF)發布的自由軟件許可證,是應用最廣泛的Copyleft許可證之一[1][5]。該許可證旨在保障用戶運行、研究、修改和重新分發軟件的自由,並要求所有衍生作品在相同的許可證條款下發布[1][5]。GNU GPL最初由理查德·斯托曼為GNU計劃起草,目前最新版本為第3版(GPLv3),於2007年6月29日發布[2][4]。大部分GNU程序和超過一半的自由軟件使用此許可證[1]。
GNU通用公共許可證的版本1於1989年2月25日發布[3],旨在防止軟件被私有化[1]。版本2(GPLv2)於1991年6月發布,增加了「自由或死亡」(Liberty or Death)條款,即如果分發軟件在某些國家受到專利或版權的限制,則不能在該國分發[3]。經過多年的討論和草案修訂,版本3(GPLv3)於2007年6月29日正式發布,重點解決了軟件專利、數字版權管理(DRM)和「Tivo化」(Tivoization)等問題[2][4]。
GPL版本1於1989年2月25日發布,旨在防止軟件被私有化[3]。它確立了Copyleft的基本原則,即允許用戶自由使用、修改和分發軟件,但要求所有分發行為必須在相同的許可證下進行[1]。
GPL版本2於1991年6月發布,在版本1的基礎上增加了「自由或死亡」條款(Liberty or Death clause)[3]。該條款規定,如果分發軟件在某些國家受到專利或版權的限制,導致用戶無法行使許可證授予的權利,則不能在該國分發該軟件[3]。
GPL版本3於2007年6月29日發布,是當前最新版本[2][4]。GPLv3的主要目標包括:
- **解決軟件專利問題**:明確禁止將軟件用於專利訴訟[4]。
- **反「Tivo化」**:防止硬件設備阻止用戶安裝修改後的軟件版本[4]。
- **國際兼容性**:改進了與世界各地版權法的兼容性[2]。
- **提供更清晰的術語**:使許可證更易於理解和應用[2]。
GNU GPL的核心是Copyleft原則,即任何分發或修改後的軟件版本必須在相同的許可證下發布[1][5]。具體條款包括:
- **自由再分發**:允許任何人以任何目的分發軟件的副本,無論是否收費[5]。
- **源代碼可獲取**:分發軟件時,必須提供完整的源代碼,或者提供獲取源代碼的途徑[5]。
- **允許修改**:允許用戶修改軟件,並將修改後的版本發布給他人[5]。
- **相同許可證**:任何修改或衍生作品必須以相同的GNU GPL許可證發布,確保自由得以延續[1]。
GNU GPL與GNU寬通用公共許可證(GNU LGPL)和GNU Affero通用公共許可證(GNU AGPL)等許可證兼容[6]。LGPL是GPL的一個更寬鬆的版本,主要適用於軟件庫,允許非自由軟件鏈接到庫[6]。AGPL則在GPL的基礎上增加了一項條款,要求通過網絡提供軟件服務的用戶也必須公開源代碼[6]。
GNU GPL是自由軟件運動的核心許可證之一,被廣泛應用於Linux內核、GNU編譯器套件(GCC)、WordPress等眾多知名項目[1]。它對軟件行業產生了深遠影響,推動了開源和自由軟件的發展[5]。
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 許可證 — GNU工程
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 GNU通用公共許可證 v3.0 — GNU工程
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 GNU General Public License, version 1 — GNU Project
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 The GNU General Public License v3.0 — GNU Project
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 The GNU General Public License v3.0 — GNU Project
- ↑ 6.0 6.1 6.2 6.3 許可證 — GNU工程