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.mzph.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…