Table of Contents

PHP RFC: Policy on 3rd party code

Introduction

The PHP project has had a long-standing but unwritten, vague, and inconsistently-applied proscription against mentioning or using third-party PHP projects, on the grounds that it implies some sort of endorsement over other third-party projects. While the desire to avoid endorsing a particular competing project is reasonable, it many cases it is actively harmful to the PHP project, its documentation, and the PHP ecosystem. “PHP” is not simply the php-src repository, and PHP.net is the home page of the PHP ecosystem, not of the php-src repository, whether we approve of that evolution or not.

This RFC proposes an updated heuristic for when and how third party code may be used or referenced, and a resolution process in case of conflict.

Proposal

The specific policy to adopt is documented precisely in this Pull Request: https://github.com/php/policies/pull/10

In the interest of avoiding confusion by having multiple versions of it, this RFC will not repeat what is listed there.

Discussion

This section is non-normative. It is a discussion of how this RFC author feels the above criteria would apply to various packages, as a way to demonstrate the expected thought process.

Open Questions

  1. It likely would not come up, but are we OK with using AGPL code in PHP tooling? It's not like any of our code is inaccessible.

Proposed Voting Choices

Simple 2/3 majority vote.

Accept this policy proposal?
Real name Yes No
alcaeus (alcaeus)  
asgrim (asgrim)  
ashnazg (ashnazg)  
bukka (bukka)  
crell (crell)  
derick (derick)  
duncan3dc (duncan3dc)  
galvao (galvao)  
girgias (girgias)  
heiglandreas (heiglandreas)  
jbnahan (jbnahan)  
kalle (kalle)  
kguest (kguest)  
levim (levim)  
mauricio (mauricio)  
mbeccati (mbeccati)  
nielsdos (nielsdos)  
ocramius (ocramius)  
petk (petk)  
pierrick (pierrick)  
pmmaga (pmmaga)  
ramsey (ramsey)  
seld (seld)  
sergey (sergey)  
theodorejb (theodorejb)  
Final result: 24 1
This poll has been closed.

References

* Discussion on internals@

Rejected Features