[PHP-DEV] [RFC] Updating the PHP License

On Thu, 10 Jul 2025 at 05:26, Ben Ramsey <ramsey@php.net> wrote:

Hello internals,

I’m opening discussion on an RFC proposing that we relicense PHP under
the Modified BSD License (SPDX identifier: BSD-3-Clause), starting with
PHP 9.0. This change simplifies and modernizes our licensing,
addressing long-standing issues while preserving the rights of both
contributors and users. Below is a quick summary of what the RFC
proposes and what it means for developers.

  • Proposes that PHP 9.0 adopt the Modified BSD License (BSD-3-Clause),
    replacing the current PHP and Zend Engine licenses.
  • The Modified BSD License is OSI-approved, GPL-compatible, and widely
    recognized in the open source community.
  • Your rights as a developer—use, modification, distribution—remain
    unchanged.
  • Extensions and tools may adopt BSD-3-Clause in place of the outdated
    PHP License.
  • The update removes confusing legacy clauses tied to branding and
    permissions.

I’ve spoken with all members of the PHP Group, and each has voiced their
approval of this proposal. The Perforce legal team has also informally
approved, and I will be working with them to get a formal letter of
approval soon.

The RFC is available at: https://wiki.php.net/rfc/php_license_update

Discussion will remain open for at least six months to ensure all
interested parties have an opportunity to respond.

Cheers,
Ben

P.S. For legal questions or concerns, I’m working with Pamela Chestek
of Chestek Legal <https://www.chesteklegal.com> on behalf of the PHP
Group. You may be familiar with her work as chair of the license
committee for the Open Source Initiative.

Sounds great. I’m sure this was a lot of work involved. Thank you.

I’d just have two questions here that are popping up to things I’ve encountered lately:

  1. TSRM (Thread Safe Resource Manager) also has a separate LICENSE file but it is BSD 2 Clause, which is compatible with all of that, I assume. That should be also simplified in some way? Perhaps integrating TSRM into Zend Engine directly at some point or updating its license to 3 clause BSD?

  2. To be more clear, the GPL compatibility would probably need to be just slightly clarified to make PHP usage simpler in the future for cases when GPL-licensed software is involved.

PHP currently has option to link to two GPL-3 licensed libraries that cause issues when distributing PHP (for example, packaging PHP and providing it as a binary via some package and similar):

So, GPL-compatibility here means that PHP licensed under the Modified BSD License could link to GNU Readline library but it should be relicensed as GPL-3 then?

Because I’m thinking of deprecating linking options with GNU Readline and GDBM to make the PHP build process worry-free for packagers.