建站程序与开源协议

分享本文:

Share Buttons
文章目录

我们常说 WordPress 是开源免费的,这里的开源是什么意思?开源必定免费吗?那为什么又有大量 WordPress 配套的付费主题和付费插件呢?

开放性源代码

  • 在计算机诞生之初,软件及其源代码是随硬件设备赠送的,厂商还会鼓励大家公开讨论、互相交换、修改代码。
  • 1976 年,《美国著作权法》赋予计算机程序著作权,厂商开始采取闭源收费的商业模式。
  • 闭源收费、剥夺用户控制权的商业模式,引发了开源社群的强烈不满,1983年,自由软件运动兴起。

自由软件(Free Software)运动

1983 年,Unix 操作系统取消面向高校的低价宽松授权,开始收取高价授权费,且不再开放源代码。 为此,Richard Stallman 发起 GNU(GNU’s Not Unix, GNU 不是 Unix) 计划,目标是开发一套完全自由的、兼容 Unix 的开源操作系统。

1985 年,自由软件基金会(Free Software Foundation, FSF)成立,定义用户关于软件的四大基本自由:

  1. 可以基于任何目的使用软件。
  2. 可以自由研究软件运行逻辑,并按需修改。
  3. 可以将原始版本的软件分发给任何人,无需许可费,分发时保留版权与协议即可。
  4. 可以自由发布自己修改后的软件版本。

为了保障代码的持续开放,FSF 还设置了 Copyleft 强制传染规则,要求对外分发的 Free Software 的衍生作品,必须遵循完全相同的开源规则,以避免有人把 Free Software 改成闭源私有软件牟利。

1989 年,GPLv1 通用公共许可证发布,这是实现 Copyleft 约束的核心协议,1991 年迭代为 GPLv2,至今仍被广泛使用。

  • Copyleft:传统版权 Copyright 用来限制他人复制、修改、分发作品,Copyleft 反过来,用于永久锁定代码开放属性,禁止他人将代码私有化。
  • GPL:GNU General Public License,GNU 通用公共许可证。

开源(Open Source)的由来

1998 年,开放源代码倡议组织(Open Source Initiative, OSI)发布《开源定义》,其十条开源标准与 Free Software 定义的四大自由高度重合,但不强制要求遵守 Copyleft 强制传染规则。

  • Free Software 的核心目标是保护用户永久自由,防止软件私有化,所以强制绑定 Copyleft。
  • Open Source 的核心目标是推动企业协作,要兼顾商业盈利需求,所以不强制绑定 Copyleft。

此后,所有 Open Source 软件都会绑定一份经过 OSI 认证的开源协议,用来规定其衍生产品:

  1. 能不能商用?
  2. 是否必须开源?
  3. 分发有什么要求?
Copyleft 类型对衍生产品的约束主流开源协议
无 Copyleft仅需保留原始版权声明MIT、BSD、Apache 2.0
弱 Copyleft修改库文件需开源,自研程序、动态链接可闭源LGPL、MPL
强 Copyleft打包分发时,全部衍生代码必须同协议开源GPL
网络强 Copyleft不打包分发,仅提供线上服务也需要同协议开源AGPL
  • 开源协议基于通用著作权法全球生效,各国政府、企业都采信 OSI 作为行业标准。
  • 约束越多,开发者使用越放心;约束越少,商业公司越乐意采用。

WordPress 依托的开源协议

WordPress 是由一系列开源软件撑起来的,以下是各种软件使用的开源协议及其 Copyleft 传染性。

由于开源协议和 Copyleft 规则只约束对外分发的软件本身及其衍生产品是否开源,并不限制是否收费,所以市场上的 WordPress 配套资源既有免费的,也有付费的。

软件软件类型开源协议Copyleft 传染性
Linux操作系统GPLv2
NginxWeb 服务BSD 宽松协议
ApacheWeb 服务Apache 2.0
MySQL 社区版数据库服务端 GPLv2
客户端 LGPLv2.1
服务端有
客户端弱
MariaDB数据库GPLv2
phpMyAdmin数据库可视化管理工具GPLv2
PHP后端脚本语言PHP License 3.01
WordPress内容管理系统(CMS)GPLv2 or later
WP 插件、主题、模板WordPress 衍生作品GPLv2 or later
React/Vue、UI 组件、拖拽工具库网站前端框架MIT
  • BSD:Berkeley Software Distribution License,由美国加州大学伯克利分校发布于 1974 年。
  • LGPL:Lesser GPL,多用于公共代码库,由自由软件基金会发布于 1991 年。
  • MIT:由麻省理工学院(MIT)发布于 1988 年。

分享本文:

Share Buttons
服务器托管