PHP 社区近日就变更许可证发起了提案:
PHP 在自定义开源许可证方面有着长期的混淆、担忧和争议,而涵盖 Zend/ 目录中源代码的 Zend Engine 许可证,加剧了这种混淆并进一步复杂化了问题,因为它不是 Open Source Initiative 批准的许可证。
本 RFC 提议对 PHP 许可证进行务实的简化,以消除这种混淆,保留所有 PHP 贡献者拥有的版权,并授予用户与原始许可证相同的权利。
为达成此目的而提出的许可证是修正版 BSD 许可证,通常称为 3-clause BSD 许可证。
1. 背景
- PHP 当前使用的自定义开源许可证(PHP License 3.01 和 Zend Engine License 2.00)存在以下问题:
- 不被 OSI(Open Source Initiative)完全认可;
- 与 GPL 不兼容;
- 存在品牌控制条款(如“不得使用 PHP 名称”);
- 多个许可证并存,造成混淆;
- Debian 等发行版曾因条款模糊而拒绝使用。
2. 解决方案
- 统一许可证:将 PHP 和 Zend Engine 的许可证都改为 BSD 3-Clause License(SPDX:
BSD-3-Clause
)。- 该许可证被 OSI 和 FSF 认可;
- 与 GPL 兼容;
- 简洁、广泛使用、无歧义。
3. 具体变更
- 发布新的许可证版本:
- PHP License 版本 4;
- Zend Engine License 版本 3;
- 删除旧许可证文件;
- 替换所有源码文件头部的许可证声明;
- 更新官网和文档;
- 旧代码可选择继续使用旧许可证或迁移到新许可证。
4. 是否需要所有贡献者同意?
- 不需要。因为 BSD 3-Clause 与原许可证在权利授予上无实质差异;
- 但出于礼貌,将开放至少 6 个月的社区讨论期。
5. 是否需要 PHP Group 和 Perforce 同意?
- 需要:
- PHP Group(代表 PHP 项目);
- Perforce Software(Zend Technologies 的母公司,拥有 Zend Engine 版权)。
6. 投票机制
- PHP 社区将通过 RFC 投票决定是否采纳该变更;
- 投票选项:是否同意采用 BSD-3-Clause 作为 PHP License v4 和 Zend License v3。
7. 时间线
- 提案版本:PHP 9.0;
- 当前状态:草案
- 实施前将开放讨论期 ≥6 个月。
✅ 总结一句话:
PHP 社区计划将 PHP 和 Zend Engine 的许可证统一为 BSD 3-Clause License,以解决历史遗留的兼容性和法律歧义问题,推动 PHP 更加标准化和开源友好。