PHP License issues

The PHP License has a couple clauses that are incompatible with the GNU GPL (versions 2 and 3) because they restrict usage of the name "PHP". Usually a name is protected using a trademark. When it is done in the license however, this introduces new requirements, and those requirements are not in the GNU GPL. So, despite the fact the PHP License is a free software license, and a permissive one, it is not compatible with the GNU GPL.

This is not a problem for the PHP language itself, because the GNU GPL makes an exception for the underlying programming language of covered software (this exception allows you to distribute GPL'd applications that work under MS Windows, for example).

The real issue is when the PHP License, which is meant for the PHP programming language only, is used for other works. Many such works come from the PEAR libraries.

In short: don't use PEAR packages under the PHP License with your GPL'd applications, or urge their maintainer to switch the modified BSD license, which is very similar except for the "trademark" clauses. mBSD is also compatible with the PHP License, so such code may be included in the PHP distribution if needed. It is worth noting that trying to preserve the PHP name in a separate software package has no effect, so those clauses are pretty useless in the context of PEAR.


Here are the relevant clauses (

3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact

4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"

I approached the PEAR developers to raise awareness of this issue (independently of Savannah):

This had some good results, with some packages relicensing:

However not everybody understood the point. Among them one of the PHP maintainers, who confused "derived work" and "aggregation". His answer was also quoted in the FAQ (without a link to the rest of the discussion). This is unfortunate for the PHP maintainer, because it was a pretty inaccurate statement:

Attemping to reason with the FAQ maintainer failed.

Not all packages can be relicensed anyway, because there is no formal copyright assignment, so each and every author would have to be contacted - which is the main difficulty of the process.