PHP酝酿20年许可证大变革:从自定义双许可切换至BSD三条款,开发者影响几何

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许可证是业界最宽松的许可证之一,这意味着:

  1. 代码复用更自由:PHP代码在其他项目中的复用不再受许可模糊性阻碍
  2. 商业使用更便捷:商业实体使用PHP代码更加方便
  3. 发行版维护更简单:Debian等发行版不再需要单独处理PHP的许可证问题
  4. 框架和库受益:使用PHP构建的框架、库和应用的许可证兼容性问题根本解决

时间线

许可证变更将在”下一个PHP版本”中生效,而非等到PHP 9.0。由于PHP从未要求贡献者签署CLA(贡献者许可协议),且BSD许可证不会削减既有权利,因此技术上无需逐一征得贡献者同意。

对于PHP生态来说,这是一次迟来但必要的现代化改革。BSD许可证的采用将让PHP代码在开源世界中流动得更加顺畅。

本文参考来源:开源中国 – PHP 将从 PHP License 切换至 BSD 许可证 | LWN讨论

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容