1# Contributing to PHP 2 3Anybody who programs in PHP can be a contributing member of the community that 4develops and deploys it; the task of deploying PHP, documentation and 5associated websites is a never ending one. With every release, or release 6candidate comes a wave of work, which takes a lot of organization and 7co-ordination. 8 9## Pull requests 10 11PHP welcomes pull requests to [add tests](#writing-tests), fix bugs and to 12implement RFCs. Please be sure to include tests as appropriate! 13 14If you are fixing a bug, then please submit your PR against the lowest actively 15supported branch of PHP that the bug affects (only green branches on 16[the supported version page](http://php.net/supported-versions.php) are supported). 17For example, at the time of writing in mid-2017, the lowest supported version is 18PHP 7.0, which corresponds to the `PHP-7.0` branch in Git. Please also make sure you 19add a link to the PR in the bug on [the bug tracker](https://bugs.php.net/). 20 21Pull requests implementing RFCs should be submitted against `master`. 22 23Pull requests should *never* be submitted against `PHP-x.y.z` branches, as 24these are only used for release management. 25 26If your pull request exhibits conflicts with the base branch, please resolve them 27by using `git rebase` instead of `git merge`. 28 29## Filing bugs 30 31Bugs can be filed on the [PHP bug tracker](https://bugs.php.net/). If this is 32the first time you've filed a bug, we suggest reading the 33[guide to reporting a bug](https://bugs.php.net/how-to-report.php). 34 35Where possible, please include a self-contained reproduction case! 36 37## Feature requests 38 39Feature requests are generally submitted in the form of 40[Requests for Comment](https://wiki.php.net/rfc/howto), ideally accompanied by 41[pull requests](#pull-requests). You can find the extremely large list of RFCs 42that have been previously considered on the 43[PHP Wiki](https://wiki.php.net/rfc). 44 45You may want to read 46[The Mysterious PHP RFC Process](https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process) 47for additional notes on the best way to approach submitting an RFC. 48 49## Writing tests 50 51We love getting new tests! PHP is a huge project and improving code coverage is 52a huge win for every PHP user. 53 54[Our QA site includes a page detailing how to write test cases.](http://qa.php.net/write-test.php) 55Please note that the section on submitting pull requests is outdated: in 56addition to the process listed there, you can also 57[submit pull requests](#pull-requests). 58 59## Writing documentation 60 61There are two ways to contribute to the PHP manual. You can edit the manual and 62send patches anonymously via [the online editor](https://edit.php.net/), or you 63can check the XML source out from Subversion and edit that and build it 64[per the instructions on the documentation site](http://doc.php.net/tutorial/). 65Patches created that way should be sent to the 66[documentation mailing list](mailto:phpdoc@lists.php.net). 67 68## Getting help 69 70If you are having trouble contributing to PHP, or just want to talk to a human 71about what you're working on, you can contact us via the 72[internals mailing list](mailto:internals@lists.php.net), or the 73[documentation mailing list](mailto:phpdoc@lists.php.net) for documentation 74issues. 75 76Although not a formal channel, you can also find a number of core developers on 77the #php.pecl channel on [EFnet](http://www.efnet.org/). Similarly, many 78documentation writers can be found on #php.doc. 79