From b5e1e61585bcbf2a9d53d9217a4d9540f9791b2f Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Sat, 11 Apr 2026 23:11:55 -0500 Subject: [PATCH] license-update: update website with new license info RFC: https://wiki.php.net/rfc/php_license_update --- license/3_01.txt | 17 ++- license/4_0.txt | 27 ++++ license/contrib-guidelines-code.php | 21 ++- license/distrib-guidelines-code.php | 23 ++-- license/index.php | 204 ++++++++++++++++++++++------ software.php | 2 +- 6 files changed, 225 insertions(+), 69 deletions(-) create mode 100644 license/4_0.txt diff --git a/license/3_01.txt b/license/3_01.txt index 4076fe994f..7f0e87eb91 100644 --- a/license/3_01.txt +++ b/license/3_01.txt @@ -1,6 +1,21 @@ +============= An example PHP License, version 3.01 file ============ + +This is the original PHP License, version 3.01, which applies only to +old versions of PHP software (such as versions 8.5 and earlier). + +The PHP License, version 3.01, is an Open Source Initiative approved +license, available at . This +license is provided for historical purposes only. + +This license has been superseded by the PHP License, version 4, +available at . The PHP License, version 4 +is the Modified BSD License (BSD-3-Clause). All new works using the PHP +License should use the Modified BSD License. + + -------------------------------------------------------------------- The PHP License, version 3.01 -Copyright (c) 1999 - 2019 The PHP Group. All rights reserved. +Copyright (c) 1999 - 2026 The PHP Group. All rights reserved. -------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without diff --git a/license/4_0.txt b/license/4_0.txt new file mode 100644 index 0000000000..e64f6647ec --- /dev/null +++ b/license/4_0.txt @@ -0,0 +1,27 @@ +Copyright © The PHP Group and Contributors. +Copyright © Zend Technologies Ltd., a subsidiary company of Perforce Software, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/license/contrib-guidelines-code.php b/license/contrib-guidelines-code.php index 7e54d6586e..f905770231 100644 --- a/license/contrib-guidelines-code.php +++ b/license/contrib-guidelines-code.php @@ -1,32 +1,31 @@ "help"]); +site_header("Contributor Guidelines", ["current" => "help"]); ?>

PHP Contributor Guidelines for Code Developers

- Before you complete the form to request a Git account, you must understand and accept the principles under which PHP + Before you contribute code to PHP, you must understand and accept the principles under which PHP itself is developed. These are summarised in the next paragraph.

- Any code contributed to PHP must be contributed under the PHP license (or a compatible BSD-style license). - PHP will be redistributed under the PHP license (currently - version 3.01). + Any code contributed to PHP must be contributed under the Modified BSD License or other, compatible permissive license. + PHP is distributed under the Modified BSD License. This includes implementation code, test cases, utility scripts and tools - that is, all code associated with the PHP project. If you contribute code that isn't entirely your own (for example it may be partially derived from other Open Source software) you are asked to add a comment into the source code to indicate the origin and the license of the original code. - If you are unsure of the license you are asked to confirm with the owner of the code that they are - happy for it to be contributed to PHP under the PHP license. + If you are unsure of the license, you are asked to confirm with the owner of the code that they + grant permission for it to be contributed to PHP under the + terms of the Modified BSD License or other compatible license.

- Specifically regarding GPL and LGPL source code: + Specifically regarding source code licensed under the GNU General Public License (GPL):

    -
  • GPL or LGPL licensed code cannot be used as a basis for any derived work contributed to PHP.
  • -
  • Extensions which link GPL'd libraries will not be accepted.
  • -
  • Extensions which link to LGPL libraries will be strongly discouraged.
  • +
  • GPL-licensed code cannot be used as a basis for any work contributed to PHP.
  • +
  • Extensions linking to GPL-licensed libraries will not be accepted.
diff --git a/license/distrib-guidelines-code.php b/license/distrib-guidelines-code.php index b88ff552ee..9a8f541f11 100644 --- a/license/distrib-guidelines-code.php +++ b/license/distrib-guidelines-code.php @@ -1,14 +1,13 @@ "help"]); +site_header("Distribution Guidelines", ["current" => "help"]); ?>

PHP Distribution Guidelines

- The PHP code can be redistributed in source or binary form provided that - the terms of the PHP license are respected (see - version 3.01). + You may redistribute PHP in source or binary form, provided + you respect the terms of the license.

In plain English, this means that you have to include the full license text @@ -18,7 +17,7 @@ distribution. This ensures that the license information can be read properly even when a binary is shipped. A text file containing license and copyright information is sometimes - given the filename "Notices", and may be referred to as a "Notices file". + given the filename "Notice" or "NOTICE" and may be referred to as a "notice file".

Some files in the PHP codebase have been contributed under other licenses. @@ -26,17 +25,19 @@ of those licenses. To check, look for the terms indicated in the license + copyright comment block at the top of the source file. + Keep in mind, sometimes the license terms are included in a separate license file in the + same directory as the source file.

The license terms for such a file may require that its own license and copyright information must be included with every distributed copy (including binaries). This is quite a common requirement, which can be satisfied by adding the appropriate license text into a text file for distribution purposes, like the - "Notices"-type of file suggested above. + notice file suggested above.

- A single "Notices" file could be used to hold the collection of license - and copyright information that applies to PHP in general (the PHP license) and + A single notice file could be used to hold the collection of license + and copyright information that applies to PHP in general and any files with additional licenses that you want to distribute (for example Zend, TSRM etc.) It is good practice to indicate which source file(s) a particular license @@ -54,12 +55,6 @@ the PHP codebase are distributed in human-readable form with every copy, as described above. -

  • - you don't use the name "PHP" without permission, either - to promote your own product or within your product's name - (see clauses #3 and #4 in the PHP license - version 3.01). -
  • PHP Codebase

    -
      +

      + PHP is available for use under the terms of the + Modified BSD License, also known as the PHP + License, version 4. +

      + +

      + The Modified BSD License is an Open + Source license, + approved by the Open + Source Initiative, and + compatible with + the GNU General Public License (GPL). It is a + permissive + software license that does not have the + copyleft restrictions + associated with licenses like the GNU GPL. Its SPDX identifier is + BSD-3-Clause. +

      + +

      + Some files in PHP software have been contributed under other compatible + licenses and may carry additional requirements and copyright information. + This is indicated in the license/copyright comment block at the top of each + source file. Sometimes the license terms are included in a separate license + file in the same directory as the source file. +

      + + +

      License

      + +

      + Copyright © The PHP Group and Contributors.
      + Copyright © Zend Technologies Ltd., a subsidiary company of Perforce + Software, Inc. +

      + +

      + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: +

      + +
      1. - Starting with PHP 4, versions of the PHP software are distributed under the - PHP License v3.01, copyright (c) the PHP Group. -
          -
        • - This is an Open Source license, - certified by the Open Source Initiative. -
        • -
        • - The PHP license is a BSD-style license which does not have the "copyleft" - restrictions associated with GPL. -
        • -
        + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer.
      2. - Some files have been contributed under other (compatible) licenses and carry - additional requirements and copyright information.
        - This is indicated in the license + copyright comment block at the top of the source file. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution.
      3. - Practical Guidelines: + Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. +
      4. +
      + +

      + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +

      + +

      Practical Guidelines

      + - -
    + +

    Earlier Versions

    + +

    + Earlier versions of PHP software were distributed under the terms of + versions 2.01, + 2.02, 3.0, and + 3.01 of the PHP License. At your option, you + may choose to use any earlier version of PHP software under the terms of the + PHP License, version 4. This is in accordance + with section 5 of the PHP License, versions 3.0 and 3.01, and section 4 of + the PHP License, versions 2.01 and 2.02 (emphasis added): +

    + +
    +

    + Once covered code has been published under a particular version of the + license, you may always continue to use it under the terms of that version. + You may also choose to use such covered code under the terms of any + subsequent version of the license published by the PHP Group. +

    +

    PHP Documentation

    @@ -97,35 +170,82 @@

    A. We cannot really stop you from using PHP in the name of -your project unless you include any code from the PHP distribution, in -which case you would be violating the license. -See Clause 4 in the -PHP License v3.01. -
    But we would really prefer if people would come up with their own names +your project, +but we would prefer you come up with your own name independent of the PHP name.

    -"Why?" you ask. You are only trying to contribute to the PHP -community. That may be true, but by using the PHP name you are -explicitly linking your efforts to those of the entire PHP development +"PHP" is the PHP project's unique brand. When others see the name "PHP," they +associate it with this project. When you use "PHP" as part of your software's +name, you are linking your efforts to those of the entire PHP development community and the years of work that has gone into the PHP project. -Every time a flaw is found in one of the thousands of applications out -there that call themselves "PHP-Something" the negative karma that -generates reflects unfairly on the entire PHP project. We had nothing -to do with PHP-Nuke, for example, and every bugtraq posting on that -says "PHP" in it. Your particular project may in fact be the greatest -thing ever, but we have to be consistent in how we handle these -requests and we honestly have no way of knowing whether your project -is actually the greatest thing ever.

    -So, please, pick a name that stands on its own merits. If your -stuff is good, it will not take long to establish a reputation for -yourselves. Look at Zope, for example, that is a framework for Python -that doesn't have Python in the name. Smarty as well doesn't have PHP -in the name and does quite well. +Additionally, using "PHP" in your project's name causes a lot of confusion, +making it more difficult for people to find your project or get help with it. +Inevitably, people looking for your project will open issues on the PHP +project's issue tracker, taking up the valuable time of our volunteers. +

    + +

    +So, please, pick a name that stands on its own merits. If others find your +project useful, it will not take long to establish a reputation for +yourself. +

    + +

    Change in licensing from PHP 8.6 and later

    + +

    +Q. What are the differences between the PHP License, version +3.01, and the PHP License, version 4? +

    + +

    +A. The PHP License, version 4 removes clauses 4, 5, and 6 of +the PHP License, version 3.01. This makes it effectively identical to the +Modified BSD License (BSD-3-Clause). +

    + +

    +While the Open Source Initiative (OSI) approved versions 3.0 and 3.01 of the +PHP License through their legacy approval process, the licenses were not +compatible with the GPL. Additionally, clauses 4 and 6 were challenging or +impossible to enforce, and various readings and interpretations sometimes +caused confusion among distributors. As a result, the PHP Group decided to +invoke clause 5 of the PHP License to publish a new version. The new version +resolves all problems with the PHP License (perceived or actual) while +preserving the rights granted by contributors and the rights granted to users. +

    + +

    +Q. Is the source code in the Zend/ directory +still licensed under the separate Zend Engine License? +

    + +

    +A. No. At the same time the PHP Group published a new version +of the PHP License, Zend Technologies Ltd., a subsidiary of Perforce Software, +Inc., invoked clause 4 of the Zend Engine License, version 2.00, to publish a +new version of the Zend Engine License. The Zend Engine License, version 3.0, +removes clauses 4, 5, and 6 of the Zend Engine License, making it effectively +identical to the Modified BSD License (BSD-3-Clause). +

    + +

    +Q. Can I still use the PHP License or Zend Engine License for +my own projects? +

    + +

    +A. You can, but you shouldn't. The PHP License and Zend +Engine License are deprecated and considered legacy licenses. They are not +recommended for use in new projects. Instead, consider using a similar +license, like the Apache License, Modified BSD License, GNU Lesser General +Public License (LGPL), or MIT License. This is not legal advice; please +consult with a lawyer before adopting or making any changes to your +license.

    Change in licensing from PHP 4 onwards

    @@ -137,8 +257,8 @@

    A. GPL enforces many restrictions on what can and cannot be done with the licensed code. The PHP developers decided to -release PHP under a much more loose license (Apache-style), to help -PHP become as popular as possible. +release PHP under a much more permissive license (BSD-style) to allow +broader uses of PHP by more people.

    diff --git a/software.php b/software.php index d608236248..b6798e7b4e 100644 --- a/software.php +++ b/software.php @@ -8,7 +8,7 @@

    This page contains a list of sites where you can find software distributed - under the PHP license. + under the PHP license.