PHP-3.01 is BSD-style permissive with two PHP-specific rules: ship the acknowledgment line, and do not put PHP in your product's name.
On this page
What it does
PHP-3.01 is the license PHP itself ships under. It is BSD-style: use it commercially, modify it, keep your own code closed, and redistribute in source or binary form. Two conditions are specific to the PHP brand. Any redistribution has to carry an acknowledgment stating that the product includes PHP software, freely available from the php.net software page. And you cannot put PHP in the name of a derived product, or present the PHP group as endorsing it, without written permission from that group.
Details
Most PHP applications never touch this license, because almost every Composer package is MIT. You hit it when you bundle the PHP runtime itself, or a PECL extension, into something you ship. Then the acknowledgment is a hard condition rather than a courtesy, and it belongs in the documentation or licenses screen that goes out with the build. The naming rule works at product level and applies to products derived from the PHP software. A PECL extension or a patched runtime called PHP-something needs permission from the PHP group before it ships, not after a complaint.
Pros
- Easy to drop into a closed, paid product. Procurement has seen this family hundreds of times.
- No copyleft on your own files. You keep your source private.
Cons
- The notice duty is easy to miss in a desktop, mobile, or container build. A web page is not a substitute for notices inside the artifact.
- Buyers who want an express patent grant will ask you to prefer Apache-2.0 over a short MIT-style text.
What it allows and requires
Choose a category to see the full grant in one scannable list. Permissions show what the license allows, limits show what it withholds, and obligations show the conditions your release process must satisfy.
Permissions
Commercial use
You may ship the code inside a paid product. The license does not restrict commercial use.
Modify
You may change the code, including keeping those changes private, unless a later obligation says otherwise.
Distribute
You may give copies to others. Distribution is what usually turns notice and source duties into real work.
Sublicense
You may include the code under your own product terms, so long as you still meet this license's conditions.
Private use
Use inside your company, including internal forks, does not by itself trigger distribution duties.
Limits
Hold liable
The authors disclaim warranty. Recipients cannot hold them liable for damages arising from the software, except where law forbids that disclaimer.
Use trademark
The license is not a trademark license. Names, logos and product marks stay with their owners unless a separate grant says otherwise.
Patent grant
The text does not grant patents. If buyers want an express patent grant, Apache-2.0 is the usual alternative.
Obligations
Include copyright
Keep the copyright line with every copy or substantial portion you distribute.
Include license
Keep the license text with every copy or substantial portion you distribute. A web page is not a substitute for notices inside a shipped artifact.
Give credit
Products that include PHP must state "This product includes PHP" in the form the license describes.
What PHP-3.01 requires when you ship
When a copy that includes PHP-3.01 code leaves your company, the grant is broad and the paperwork is easy to miss. Distribution here means an installer, a mobile binary, a container image, or an SDK another team embeds. Work this list against the artifact you actually hand over, not against a README. A hosted service that never gives out a copy still belongs on the record, but the notice duty does not fire until a copy exists.
You are meeting the notice condition when the copyright notice and the license conditions ship with every copy of the PHP code you distribute.
You are meeting the acknowledgment condition when your distribution states that the product includes PHP software, freely available from the php.net software page.
You are clear on the naming rules when your product name does not contain PHP and nothing you publish presents the PHP group as endorsing your product.
You have nothing further to do for a hosted application whose own dependencies are all MIT, because this license reaches only the PHP code itself.
The duties named in PHP-3.01
The license text itself is short. These are the named conditions. They follow the code, including files you vendor into your own repository and transitive packages in the lockfile.
Include copyright
Keep the copyright line with every copy or substantial portion you distribute.
Include license
Keep the license text with every copy or substantial portion you distribute. A web page is not a substitute for notices inside a shipped artifact.
Give credit
Products that include PHP must state "This product includes PHP" in the form the license describes.
Things to be aware of
- The acknowledgment sentence is treated as a nice-to-have and dropped. It is a condition of the license, and the wording is fixed by the text.
- A product derived from PHP, such as an extension, is named with PHP in the title. That needs written permission from the PHP group, and asking after release is the expensive order.
- The runtime is baked into a container image or a desktop build and nobody records it, because the application's own dependency list is all MIT.
- Teams assume a BSD-style license combines with anything. The FSF reads the naming restrictions as making PHP-3.01 GPL-incompatible, so a mixed product needs a real look.
What the PHP License 3.01 does not do
Search results often flatten PHP License 3.01 into a slogan. These are the usual misreads. PHP-3.01 is a grant with conditions, not a permission to skip the paperwork below.
- the PHP License 3.01 does not require you to publish your own source. Combining it with closed code is the point of the grant.
- the PHP License 3.01 does not mean "no obligations." The copyright line and license text still have to travel with copies you hand to other people.
- It is not a patent license unless the text says so. MIT-family grants say nothing about patents.
How PHP-3.01 differs from nearby licenses
These licenses are often confused with PHP-3.01, but their release duties differ. Each row summarizes what the license requires when you ship. Open the linked page for the full checklist.
- PHP-3.01
- PHP-3.01 is BSD-style permissive with two PHP-specific rules: ship the acknowledgment line, and do not put PHP in your product's name.
- MIT
- MIT lets you ship the code inside a closed, paid product. The one condition is that the copyright line and license text travel with every copy.
- BSD-3-Clause
- Permissive like MIT, with one extra rule: you may not use the authors' names to promote your product. Notices travel with source and binaries.
Common questions about PHP License 3.01
Answers to common questions about what PHP License 3.01 requires, when its duties apply, and what evidence belongs with a release.
What is the PHP License 3.01?
PHP-3.01 is the license PHP itself ships under. It is BSD-style: use it commercially, modify it, keep your own code closed, and redistribute in source or binary form. Two conditions are specific to the PHP brand. Any redistribution has to carry an acknowledgment stating that the product includes PHP software, freely available from the php.net software page. And you cannot put PHP in the name of a derived product, or present the PHP group as endorsing it, without written permission from that group.
What does PHP-3.01 require when you ship a product?
You are meeting the notice condition when the copyright notice and the license conditions ship with every copy of the PHP code you distribute. You are meeting the acknowledgment condition when your distribution states that the product includes PHP software, freely available from the php.net software page. You are clear on the naming rules when your product name does not contain PHP and nothing you publish presents the PHP group as endorsing your product. You have nothing further to do for a hosted application whose own dependencies are all MIT, because this license reaches only the PHP code itself.
Does PHP-3.01 require me to open my own source?
It is not a patent license unless the text says so. MIT-family grants say nothing about patents.
How do I attribute PHP-3.01 in a product I ship?
Attribution for PHP-3.01 means the copyright line and the license text travel with every copy a recipient actually gets. That can be an about screen, a licenses file inside the installer, or a notice in the container image. A public page helps a buyer audit the inventory. It does not replace notices inside the artifact. If you copied files into your own repository, the header on those files still has to stay.
Is a website notice enough for PHP-3.01?
No. PHP-3.01 talks about copies. A public attestation page is the honest list for procurement. The condition is met when the notices sit in the material you hand over. Put them in the installer, the about screen, or a licenses file inside the binary, then keep the same texts on the page.
Do transitive PHP-3.01 dependencies count?
Yes. The condition follows the code, not the package you chose by name. If the lockfile pulled in PHP-3.01 transitively and you distribute that tree, those notices travel too. Listing only direct dependencies is how teams miss the duty.
How is PHP-3.01 different from MIT License?
PHP-3.01 asks this: PHP-3.01 is BSD-style permissive with two PHP-specific rules: ship the acknowledgment line, and do not put PHP in your product's name. MIT License asks this: MIT lets you ship the code inside a closed, paid product. The one condition is that the copyright line and license text travel with every copy. Open the MIT License page for what that license requires when you ship. Do not treat the SPDX ids as interchangeable because the short names look similar.
Where do I record PHP-3.01 for a buyer?
SourceTrust fetches the published artifact for the package, extracts the license files, and compares that text against the declared SPDX id. Only a confirmed match fills in the license text for you, and everything else waits for a person. The stored text is what your attestation page and every export file carry, which is where the acknowledgment line should be read from when you assemble the notices for a build.
Where do I record PHP-3.01 for a buyer?
SourceTrust fetches the published artifact for the package, extracts the license files, and compares that text against the declared SPDX id. Only a confirmed match fills in the license text for you, and everything else waits for a person.
The stored text is what your attestation page and every export file carry, which is where the acknowledgment line should be read from when you assemble the notices for a build. Read /docs/auto-fetch-license for how the fetch decides.
See also
The hub is the pillar for this cluster. Sibling licenses are the other spokes. Product FAQ links explain how SourceTrust records the duty, not the license text itself.
Practical guidance for procurement review, not legal advice. Confirm high-stakes use with counsel.
