WordPress 和 GPL – 您需要了解的一切


如果您使用 WordPress,GPL 對您來說應該很重要,您也應該了解它。查看有關 WordPress 和 GPL 的最全面指南。

您可能聽說過 GPL(通常被稱為 WordPress 的權利法案),但很可能并不完全了解它。這是有道理的–這是一個復雜的話題,你的時間無疑更應該用來謀生,而不是研究產品許可。

不過,如果您使用 WordPress,GPL 對您來說應該很重要,您應該了解它。為什么呢?因為 GPL 規定了用戶和開發者使用 WordPress 的方式。

有鑒于此,這本簡明指南將為您揭示與 WordPress 有關的 GPL 許可方面的所有知識,其中不涉及任何法律術語或不必要的復雜語言。閱讀完畢后,您將了解什么是 GPL,為什么 WordPress 要獲得相應的許可,GPL 如何惠及最終用戶和 WordPress 開發者,以及最終為什么 WordPress 的 “衍生 “作品(即主題和插件)應該(甚至必須)獲得 GPL 許可。

GNU 通用公共許可證釋義

從了解您的目標開始
GNU 通用公共許可證(以下簡稱 “GPL”)由計算機程序員理查德-斯托爾曼(Richard Stallman)創建,是對專有軟件迅猛發展的一種反叛。它被命名為 “GNU” GPL,因為 Stallman 最初用它來許可 GNU 操作系統。

GPL 是一種自由軟件許可證。與大眾的理解不同,”自由軟件” 中的 “自由” 一詞指的不是價格,而是(根據 Stallman 的定義)用戶使用、修改和發布軟件(及任何衍生作品)的自由。

與 “自由軟件” 運動相關的四項自由是對 GPL 的最好概括:

為任何目的運行程序的自由。
研究程序如何運行的自由,以及修改程序使其按照你的意愿運行的自由。
重新分發拷貝的自由,這樣你就可以幫助你的鄰居。
改進程序的自由,并向公眾發布你的改進版本(以及一般的修改版本),從而使整個社區受益。
換句話說,GPL 是 Windows 或 iOS 等專有軟件的對立面。它賦予最終用戶權力,但并不一定符合開發者的最佳利益。不過,正如我們將發現的那樣,它確實適用于 WordPress 開發者(如果不是有意為之)。

為什么 WordPress 采用 GPL 許可

WordPress 之所以能成為今天的 WordPress,與 GPL 是分不開的。這個世界上最流行的內容管理系統從誕生之初到現在,一直受益于成千上萬人的投入,這是專有軟件無法做到的。

事實上,如果沒有自由軟件的概念,WordPress根本不可能存在–它最初是b2/cafelog的一個分叉,而b2/cafelog本身就是 “自由軟件”。

分叉開發 (GPL)

WordPress 的聯合創始人馬特-穆倫維格(Matt Mullenweg)可以說是世界上 “自由軟件” 領域的領軍人物之一。他創建 WordPress.com 的使命很明確:”出版民主化“。GPL 的原則對他來說意義重大(您會發現這一點)。

如果 WordPress 是一個國家,我們的權利法案就是 GPL,因為它保護我們的核心自由。-馬特-穆倫維格,WordPress 聯合創始人

為什么您可能喜歡 GPL

道德
作為最終用戶,從 “道德” 的角度來看,GPL 有很多值得稱道之處。只要讀一讀 Stallman 關于軟件 “所有權” 的慷慨激昂的散文,您就會明白 GPL 對軟件用戶來說有多么強大:

[專有軟件]意味著使用計算機的第一步就是承諾不幫助你的鄰居。一個合作的社區是被禁止的。專有軟件的所有者制定的規則是:”如果你與鄰居分享,你就是盜版。如果你想做任何修改,請求我們來做。”

專有軟件的社會制度–規定你不得分享或更改軟件的制度–是反社會的,是不道德的,是錯誤的,這種觀點可能會讓一些讀者感到驚訝。但是,對于這種以分裂公眾和讓用戶束手無策為基礎的制度,我們還能說什么呢?

在一個越來越容易獲取的世界里(無論好壞),GPL代表著軟件開發的真正透明度。

社區的力量
使 GPL 如此強大的不僅僅是透明度。Chris Lema 在他關于 GPL WordPress 主題和插件的文章中說得最清楚:

……如果軟件是開放的,它就能得到更快更好的修復、改進和擴展。當更多的人可以分享它、檢查它、調整它、傳遞它時,你就會得到更好、更強大的軟件。-
克里斯-勒馬公眾人物,演講人兼博主

人們有理由認為,WordPress 的 GPL 許可是其指數式增長的主要催化劑。WordPress 社區的規模及其受歡迎程度是無與倫比的。這要歸功于它的 GPL 地位。

安心
從更實際的角度來看,GPL讓WordPress的最終用戶高枕無憂。WordPress不僅是免費的(兩種意義上的),而且所有與WordPress有關的商標都歸WordPress基金會所有–這是一個慈善組織,其成立的唯一目的就是 “確保我們所支持的軟件項目永久免費”。換句話說,WordPress 始終并將永遠以我們習慣的方式免費提供給我們。

為什么您可能不喜歡 GPL

從最終用戶的角度來看,沒有理由不喜歡 GPL。它是一種光榮的授權。

然而,典型的 WordPress 企業家可能會對更全面地了解 GPL 產生消極的膝跳反應,其主要原因是從商業角度來看 GPL 意味著什么。畢竟,如果 GPL 允許 “自由使用、修改和分發軟件(以及任何 ‘衍生’ 作品)”,那么這對高級 WordPress 主題和插件意味著什么呢?

從理論上講,WordPress 的 GPL 許可對于那些試圖創造 “衍生” 產品的人來說意味著兩件事:

  • 任何人都可以不受限制地自由使用、修改和分發你的產品。
  • 你能提供的唯一價值就是高級支持和自動更新。

支持和更新

然而,事情并非如此簡單。實際上,GPL 對 WordPress 開發人員也 “有效”。

GPL 的法律效力

但在此之前,我們先從法律角度來看看 GPL 的威力。截至本文撰寫之時,GPL 許可在很大程度上尚未得到法院的證實。實際上,這意味著兩件事:

1. “衍生作品”的含義不明確

主題和插件在法律上是否被視為 “衍生” 作品(這將決定它們是否符合 GPL 標準)并不明確。

不過,你會發現有很多人愿意并隨時準備反對這種說法。Mullenweg 甚至咨詢了軟件自由法律中心的法律意見。

Software Freedom Law Center

他們的結論(如 Mullenweg 所總結的)似乎是絕對的:”WordPress 主題中的 PHP 必須是 GPL,美工和 CSS 可以是,但不是必需的”。

Toma? Zaman 在他關于 WordPress 和 GPL 的 Codeable 文章中采用了同樣強烈的觀點:

WordPress 插件和主題的 PHP 代碼是 WordPress 的衍生作品,這意味著它們必須獲得 GPL 許可。- Toma? Zaman,Codeable 創始人

這一切似乎都相當令人信服,但最重要的是,這些都沒有在法庭上得到證實。沒有法律先例,因此,任何確定性的說法實際上都是不確定的。法律上的確定性是通過法律先例來實現的–而 GPL 許可證在這一特定主題上恰恰缺乏這一點。

2. 降低法律訴訟風險

有人可能會說,缺乏法律先例表明,不合規不太可能導致法律訴訟。布萊恩-克羅斯加德(Brian Krogsgard)對此作了很好的解釋:

很少有律師愿意成為第一個在法庭上試驗的人。如果有許多案例為你提供指導,你就更容易立案。GPL 有所謂的 “有限指導”,這意味著它未經檢驗,因此在美國 GPL 案件的結果可能很難預測。- 布萊恩-克羅斯加德,Post Status編輯

雖然爭論上述問題很容易,但將自己置于火線(可以這么說)則完全是另一回事!我們個人不建議你藐視 GPL,以為沒有法律先例就是某種 “保護”。

綜上所述,我們可以得出一個簡單的結論: 從法律上講,GPL 對 WordPress 主題和插件的影響還沒有定論。

話雖如此,雖然提及 GPL 的法律方面很重要,但從實際角度來看,這并不是真正重要的。

GPL 如何對 WordPress 最終用戶和開發者有利

作為 WordPress 創業者,很容易擔心 GPL 會對自己的業務造成什么影響,但觀察其實際效果卻更有價值。歷史證明,WordPress 社區并不像憤世嫉俗者所期望的那樣運作,主要有以下三個原因:
在這里插入圖片描述
誠實地支付

大多數人本質上都是誠實的。對于每一個樂于 “偷竊” 產品的人(盡管根據 GPL 許可,這樣做是不可能的),有更多的人樂于為出售的東西付費–即使他們可以免費獲得。


了解 GPL

許多人不了解 GPL。這需要一定程度的精明才能(a)理解某樣東西是免費提供的,以及(b)知道如何免費獲得它。如果一個插件被宣傳為 “高級”,普通用戶不會從 Github 下載它,如果它在那里可用的話–他們會從最明顯的來源獲取它。

更新支持

購買高級 GPL 產品有附加價值。雖然 GPL 高級插件可能是 “免費” 提供的,但 “出售” 最終用戶可能認為非常有用的相關服務(如支持和自動更新)是完全可以接受的。您會發現,許多現代高級主題和插件開發商–雖然沒有公開宣傳他們的產品在 GPL 許可證下免費提供–都采用這種模式進行銷售。

我們強烈建議您閱讀這篇相關文章: 為什么應該停止使用無效的 WordPress 插件和主題?

綜上所述,作為開發者,您可以從 GPL 的所有優點(道德、社區精神和力量)中獲益,但不會遭受任何可能令人擔憂的負面影響。

對于面向客戶的 WordPress 開發人員來說,還有一個更好的消息:GPL 不會影響非分布式工作,這包括您為單個客戶所做的定制工作。如果你做的是這類工作,就不必擔心 GPL 合規性問題。

您應該采用 GPL 許可證的其他原因

您將與關鍵影響者保持一致
雖然大多數 WordPress 用戶甚至都沒聽說過 GPL,但它對 WordPress 社區中的所有關鍵影響者都極為重要–最好的例子莫過于 WordPress 的聯合創始人兼 Automattic 首席執行官 Matt Mullenweg。

影響者

他對 GPL 確實充滿熱情,并不懼怕對其進行相應的保護。這樣的例子比比皆是,最近(也是最公開的)就是 Automattic 與 Thesis 之爭。

采用 GPL 許可證,就意味著您與 WordPress 社區中一些最重要的人物在道德和哲學立場上保持一致。既然 WordPress 是一個社區,那么這樣做就是明智之舉。

您可以獲得更大的曝光率
WordPress.org 主題和插件庫對于最終用戶來說是非凡的資源,對于開發者來說則是非凡的營銷工具。任何開發者都有機會免費上傳他們的主題和/或插件,并將它們展示給 WordPress 社區。但有一個問題: “您的插件(或主題)必須與 GNU 通用公共許可證 v2 或任何后續版本兼容。


獲得曝光

很簡單,對于免費主題和插件開發者來說:沒有 GPL,就沒有在 WordPress.org 上的曝光率。

這是 “正確” 的做法
GPL 許可可以從更實際的角度來考慮:如果沒有 WordPress,您的插件或主題就不會存在,也無法利用這樣一個巨大的平臺進行改編和曝光。因此,雖然采用 GPL 并不是絕對必要的,但在其他條件相同的情況下,這是 “正確” 的做法。

小結

現在,您已經了解了關于 WordPress 和 GPL的一切。你明白了作為最終用戶它對你的重要性,也明白了作為開發者采用它最終會給你帶來什么好處。有人可能會合理地認為,GPL對你造成損害的唯一方式就是你拒絕采用它;不是因為許可本身,而是因為它對你的限制、社區內的影響以及你可能招來的敵人。撇開這一點不談,從道德的角度來看,GPL 還是有很多可取之處的。WordPress所選擇的許可證表明,我們有可能以完全透明的方式創建和發布軟件,同時收獲社區的利益,并順便賺點錢。這不是皆大歡喜嗎?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83104.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83104.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83104.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

力扣144題:二叉樹的前序遍歷(遞歸)

小學生一枚,自學信奧中,沒參加培訓機構,所以命名不規范、代碼不優美是在所難免的,歡迎指正。 標簽: 二叉樹、前序遍歷、遞歸 語言: C 題目: 給你二叉樹的根節點root,返回它節點值…

python:一個代理流量監控的媒體文件下載腳本

前言 一個mitmproxy代理服務應用,作用是監聽系統流量,并自動下載可能的video媒體文件到本地。 如果你沒有安裝mitmproxy或沒有做完準備工作,請參考我的這篇文章: python:mitmproxy代理服務搭建-CSDN博客 文件架構目錄…

SAP Business One(B1)打開自定義對象報錯【Failed to initialize document numbering:】

業務場景: 新版本的客戶端,打開已經注冊的自定義單據類型的表的時候,報錯【Failed to initialize document numbering:】。 但是注冊的自定義主數據類型的表,不會有問題。 解決方案: 打開【管理-系統初始化-常規設置…

計算機網絡:WiFi路由器發射的電磁波在空氣中的狀態是什么樣的?

WiFi路由器發射的電磁波是高頻無線電波,屬于微波頻段(2.4GHz或5GHz),在空氣中以光速傳播(約310?米/秒),其傳播狀態和特性可通過以下維度詳細解析: 一、電磁波的物理特性 頻率與波長 2.4GHz頻段:波長約12.5厘米,穿透力較強但易受干擾(微波爐、藍牙等共用頻段)。5GH…

騰訊云-人臉核身+人臉識別教程

一。產品概述 慧眼人臉核身特惠活動 騰訊云慧眼人臉核身是一組對用戶身份信息真實性進行驗證審核的服務套件,提供人臉核身、身份信息核驗、銀行卡要素核驗和運營商類要素核驗等各類實名信息認證能力,以解決行業內大量對用戶身份信息真實性核實的需求&a…

tocmat 啟動怎么設置 jvm和gc

在生產環境中部署 Java Web 應用時,我們經常需要給 Tomcat 設置 JVM 參數和 GC 策略,以提高性能、穩定性和可觀察性。以下是完整教程: 一、Tomcat 設置 JVM 啟動參數的方式 1. 修改 startup 腳本(推薦) 以 Linux 系統…

zuoyyyeee

實驗拓撲圖 需求分析 1.分配接口ip 2.使用OSPF協議使三臺路由器可達 3.在路由器1,2 /4,5 使用直連接口直接配置EBGP ip配置: [R1]: bgp 100 rid 1.1.1.1 peer 12.0.0.2 as-number 200 network 1.1.1.1 32 [R2]: bgp 200 rid 2.2.2.2 p…

?Element UI 雙擊事件(@cell-dblclick 與 @row-dblclick)

?Element UI 雙擊事件(cell-dblclick 與 row-dblclick) 一、核心雙擊事件綁定? 表格單元格雙擊? ?事件綁定?: 通過 cell-dblclick 監聽單元格雙擊,接收四個參數(row, column, cell, event)。 ?示…

Python爬蟲實戰:研究decrypt()方法解密

1. 引言 1.1 研究背景與意義 在當今數字化時代,網絡數據蘊含著巨大的價值。然而,許多網站為了保護其數據安全和商業利益,會采用各種加密手段對傳輸的數據進行處理。這些加密措施給數據采集工作帶來了巨大挑戰。網絡爬蟲逆向解密技術應運而生,它通過分析和破解網站的加密機…

day014-服務管理

文章目錄 1. 提問的方式1.1 注意事項1.2 start法則-提問/面試 2. systemctl 系統服務管理2.1 開啟和自啟動服務sshd2.2 關閉和永久禁用防火墻2.3 查看服務的狀態2.4 重啟服務2.5 sshd重啟失敗案例 3. localectl 字符集管理3.1 臨時修改語言3.2 永久修改語言3.3 用腳本修改語言 …

【redis】CacheAside的數據不一致性問題

緩存的合理使用確提升了系統的吞吐量和穩定性,然而這是有代價的,這個代價便是緩存和數據庫的一致性帶來了挑戰。 新增數據時,數據直接寫入數據庫,緩存中不存在對應記錄。首次查詢請求會觸發緩存回填,即從數據庫讀取新…

DA14585墨水屏學習

一、do_min_word void do_min_work(void) {timer_used_min app_easy_timer(APP_PERIPHERAL_CTRL_TIMER_DELAY_MINUTES, do_min_work);current_unix_time time_offset;time_offset 60;// if (isconnected 1)// {// GPIO_SetActive(GPIO_LED_PORT, GPIO_LED_PIN);// …

微服務調試問題總結

本地環境調試。 啟動本地微服務,使用公共nacos配置。利用如apifox進行本地代碼調試解決調試問題。除必要的業務微服務依賴包需要下載到本地。使用mvn clean install -DskipTests進行安裝啟動前選擇好profile環境進行啟動,啟動前記得mvn clean清理項目。…

C#學習第22天:網絡編程

網絡編程的核心概念 1. 套接字(Sockets) 定義:套接字是網絡通信的基本單元,提供了在網絡中進行數據交換的端點。用途:用于TCP/UDP網絡通信,支持低級別的網絡數據傳輸。 2.協議 TCP(Transmiss…

TWASandGWAS中GBS filtering and GWAS(1)

F:\文章代碼\TWASandGWAS\GBS filtering and GWAS README.TXT 請檢查幻燈片“Vitamaize_update_Gorelab_Ames_GBS_filtering_20191122.pptx”中關于阿姆斯(Ames)ID處理流程的詳細信息。 文件夾“Ames_ID_processing”包含了用于處理阿姆斯ID的文件和R…

圖像處理篇---opencv實現坐姿檢測

文章目錄 前言一、方法概述使用OpenCV和MediaPipe關鍵點檢測角度計算姿態評估 二、完整代碼實現三、代碼說明PostureDetector類find_pose()get_landmarks()cakculate_angle()evaluate_posture() 坐姿評估標準(可進行參數調整):可視化功能&…

.Net HttpClient 使用代理功能

HttpClient 使用代理功能 實際開發中,HttpClient 通過代理訪問目標服務器是常見的需求。 本文將全面介紹如何在 .NET 中配置 HttpClient 使用代理(Proxy)功能,包括基礎使用方式、代碼示例、以及與依賴注入結合的最佳實踐。 注意…

【學習路線】 游戲客戶端開發入門到進階

目錄 游戲客戶端開發入門到進階:系統學習路線與推薦書單一、學習總原則:從底層出發,項目驅動,持續迭代二、推薦學習路線圖(初學者→進階)第一階段:語言基礎與編程思維第二階段:游戲開…

精益數據分析(57/126):創業移情階段的核心要點與實踐方法

精益數據分析(57/126):創業移情階段的核心要點與實踐方法 在創業的浩瀚征程中,每一個階段都承載著獨特的使命與挑戰。今天,我們繼續秉持共同進步的理念,深入研讀《精益數據分析》,聚焦創業的首…

015枚舉之滑動窗口——算法備賽

滑動窗口 最大子數組和 題目描述 給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&#xff0c;返回其最大和。 原題鏈接 思路分析 見代碼注解 代碼 int maxSubArray(vector<int>& num…