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 branch 15of PHP that the bug affects, or the oldest fully supported version (the first 16green branch on 17[the supported version page](http://php.net/supported-versions.php). For 18example, at the time of writing in mid-2015, this is PHP 5.5, which corresponds 19to the `PHP-5.5` branch in Git. Please also make sure you add a link to the PR 20in the bug on [the bug tracker](https://bugs.php.net/). 21 22Pull requests to implement RFCs should be submitted against `master`. 23 24## Filing bugs 25 26Bugs can be filed on the [PHP bug tracker](https://bugs.php.net/). If this is 27the first time you've filed a bug, we suggest reading the 28[guide to reporting a bug](https://bugs.php.net/how-to-report.php). 29 30Where possible, please include a self-contained reproduction case! 31 32## Feature requests 33 34Feature requests are generally submitted in the form of 35[Requests for Comment](https://wiki.php.net/rfc/howto), ideally accompanied by 36[pull requests](#pull-requests). You can find the extremely large list of RFCs 37that have been previously considered on the 38[PHP Wiki](https://wiki.php.net/rfc). 39 40You may want to read 41[The Mysterious PHP RFC Process](https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process) 42for additional notes on the best way to approach submitting an RFC. 43 44## Writing tests 45 46We love getting new tests! PHP is a huge project and improving code coverage is 47a huge win for every PHP user. 48 49[Our QA site includes a page detailing how to write test cases.](http://qa.php.net/write-test.php) 50Please note that the section on submitting pull requests is outdated: in 51addition to the process listed there, you can also 52[submit pull requests](#pull-requests). 53 54## Writing documentation 55 56There are two ways to contribute to the PHP manual. You can edit the manual and 57send patches anonymously via [the online editor](https://edit.php.net/), or you 58can check the XML source out from Subversion and edit that and build it 59[per the instructions on the documentation site](http://doc.php.net/tutorial/). 60Patches created that way should be sent to the 61[documentation mailing list](mailto:phpdoc@lists.php.net). 62 63## Getting help 64 65If you are having trouble contributing to PHP, or just want to talk to a human 66about what you're working on, you can contact us via the 67[internals mailing list](mailto:internals@lists.php.net), or the 68[documentation mailing list](mailto:phpdoc@lists.php.net) for documentation 69issues. 70 71Although not a formal channel, you can also find a number of core developers on 72the #php.pecl channel on [EFnet](http://www.efnet.org/). Similarly, many 73documentation writers can be found on #php.doc. 74