xref: /PHP-7.1/CONTRIBUTING.md (revision 0c50f497)
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