PHP社区正在进行一场酝酿近二十年的许可证重大变革。由核心开发者Ben Ramsey主导的RFC提案建议,废除自2006年起沿用的双许可证模式(PHP License v3.01与Zend License v2.0),全面替换为标准化的BSD三条款许可证。社区投票已获得压倒性支持,47票赞成、0票反对、2票弃权。
为什么PHP要换许可证
PHP的许可证历史堪称曲折。从1995年的GPLv2开始,项目先后七次变更或修改许可条款。2000年PHP 4.0引入Zend Engine后,项目彻底放弃了GPLv2,形成了PHP License + Zend License的双许可模式。
这套自定义许可体系在近二十年中制造了越来越多的麻烦。PHP License 3.01明确规定仅适用于由”PHP Group”分发的软件,但PHP Group并非一个真实存在的法律实体,仅仅是十位早期核心开发者的名单。这一模糊性给Debian等发行版带来了长期的法律困惑,也阻碍了PHP代码在其他项目中的自由复用。
协调过程
Ben Ramsey为此展开了长达数年的幕后协调:
- 已与PHP Group的全部成员逐一沟通并获得同意
- 取得了Zend母公司Perforce Software的批准
- 与开源促进会(OSI)许可证委员会主席合作确保合规性
- 讨论期保持至少六个月以示对社区尊重
GPL兼容性问题一并解决
此次变更还将解决一个悬而未决的GPL兼容性问题。目前PHP构建时可选择性链接GNU Readline和GDBM两个GPLv3库,但在PHP License下存在许可不兼容。切换至BSD后,这一障碍将彻底消除。
对PHP开发者的影响
BSD许可证是业界最宽松的许可证之一,这意味着:
- 代码复用更自由:PHP代码在其他项目中的复用不再受许可模糊性阻碍
- 商业使用更便捷:商业实体使用PHP代码更加方便
- 发行版维护更简单:Debian等发行版不再需要单独处理PHP的许可证问题
- 框架和库受益:使用PHP构建的框架、库和应用的许可证兼容性问题根本解决
时间线
许可证变更将在”下一个PHP版本”中生效,而非等到PHP 9.0。由于PHP从未要求贡献者签署CLA(贡献者许可协议),且BSD许可证不会削减既有权利,因此技术上无需逐一征得贡献者同意。
对于PHP生态来说,这是一次迟来但必要的现代化改革。BSD许可证的采用将让PHP代码在开源世界中流动得更加顺畅。
















暂无评论内容