# RFC: Policy Repository

- Status: Accepted
- Authors: Derick Rethans derick@php.net
- Date: 2023-12-04
- Version: 0.9
- Original: https://wiki.php.net/rfc/policy-repository
- Page: https://externals.io/rfc/policy-repository
- More for agents: search with https://externals.io/search.md?q={query} · RFCs at https://externals.io/rfc.md · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

## Votes

### Do we want all the policies in one place in a Git repository? (closed)

yes: 31 · no: 0

Voters: alcaeus (yes), ashnazg (yes), beberlei (yes), bukka (yes), crell (yes), derick (yes), devnexen (yes), geekcom (yes), girgias (yes), heiglandreas (yes), ilutov (yes), jimw (yes), kocsismate (yes), marandall (yes), mbeccati (yes), nicolasgrekas (yes), nielsdos (yes), petk (yes), pierrick (yes), ramsey (yes), saki (yes), santiagolizardo (yes), sebastian (yes), sergey (yes), stas (yes), svpernova09 (yes), theodorejb (yes), thorstenr (yes), timwolla (yes), trowski (yes), weierophinney (yes)

## Discussions on the mailing list

- [\[RFC\] \[VOTE\] Add 4 new rounding modes to round() function](https://externals.io/message/121689.md) — started on 2023-11-15, 10 messages
- [\[RFC\] Collecting All Policies Into One Repository](https://externals.io/message/121926.md) — started on 2023-12-05, 7 messages
- [\[VOTE\] \[RFC\] Collecting All Policies Into One Repository](https://externals.io/message/122125.md) — started on 2024-01-05, 2 messages
- [\[RFC\] Consolidate Coding Standards Policy Document](https://externals.io/message/126133.md) — started on 2024-12-18, 5 messages
- [\[VOTE\] Throwable Hierarchy Policy for Extensions](https://externals.io/message/127340.md) — started on 2025-05-13, 2 messages

---

## Introduction

Currently, policies in regard to RFC Voting, the Release Process, security classification, and naming guidelines are all recorded in different places. In RFCs, through amending RFCs (think “Abolish Short Votes”), etc. This makes it sometimes hard to find out what is [expected](https://news-web.php.net/php.internals/121919), and how things are supposed to be.

## Proposal

This proposal suggests to set up a new Git repository to collect all the policies that we have.

Similarly, the canonical security classification will move from <https://github.com/php/php-src/blob/master/SECURITY.md> to the new repository, with the former only explaining how to file security issues instead.

To amend a policy a Pull Request must be raised against this repository. An RFC with considerations and arguments, as we have for all changes, are then created to approve the Pull Request. The text of the policy change rests solely in the Pull Request, with the RFC providing explanatory notes.

Changes to the policy repository should only be made through a new RFC, unless it is for fixing spelling mistakes or grammar.

## Proposed PHP Version(s)

As this is not for a specific PHP version, it is not targeting one either.

## Backwards Compatibility Breaks

None in code, but [PHP RFC: Release cycle update](https://externals.io/rfc/release_cycle_update) needs to be partially redone to work with this new policy repository.

## Future Scope

Once (and if) this RFC is accepted, a first new step would be to rephrase the text so that it reads like a policy document, instead of an RFC. The wording is currently exactly as in the used RFCs, without modification.

Integrate [https://github.com/php/php-src/blob/master/CODING\_STANDARDS.md](https://github.com/php/php-src/blob/master/CODING_STANDARDS.md) into the coding-standards policy file.

Both of these will be implemented through a separate PR to the policy repository. After comment integration, an RFC will be created to confirm these changes.

## Voting Choices

2/3rds majority required. Voting runs until January 22nd, 2024, 08:00 UTC.

**Vote: Do we want all the policies in one place in a Git repository?** — yes: 31 · no: 0 (closed)

## Patches and Tests

A preliminary repository has been set up at <https://github.com/php/policies>

It currently contains information from the following documents:

Releases and Security

- Release Process: <https://externals.io/rfc/releaseprocess>
- Security Issue Classification: <https://externals.io/rfc/security-classification>

RFC Votes

- Voting on PHP features: <https://externals.io/rfc/voting>
- Abolish Short Votes: <https://externals.io/rfc/abolish-short-votes>
- Abolish Narrow Margins: <https://externals.io/rfc/abolish-narrow-margins>

Support Timelines

- PHP 5 Support Timeline: <https://externals.io/rfc/php56timeline>
- Define PHP 5.3 End of Life: <https://externals.io/rfc/php53eol>
- Name of Next Release of PHP: <https://externals.io/rfc/php6>
- PHP 7.0 timeline: <https://externals.io/rfc/php7timeline>
- Cleaning Up Unmaintained Extensions: [https://wiki.php.net/rfc/umaintained\_extensions](https://externals.io/rfc/umaintained_extensions)

Naming Things

- Namespaces in bundled PHP extensions: [https://wiki.php.net/rfc/namespaces\_in\_bundled\_extensions](https://externals.io/rfc/namespaces_in_bundled_extensions)
- Class Naming: <https://externals.io/rfc/class-naming>

## References

Links to external references, discussions or RFCs
