|
3 | 3 | Contributing to Read the Docs
|
4 | 4 | =============================
|
5 | 5 |
|
6 |
| -Read the Docs follows the standard Contribution Guidelines set forth at `contribution-guide.org`_. |
7 |
| -Please read that site and follow the instructions to make sure your patches will be accepted. |
| 6 | +You are here to help on Read the Docs? Awesome, feel welcome and read the |
| 7 | +following sections in order to know what and how to work on something. If you |
| 8 | +get stuck at any point, feel free to get in touch in our IRC channel |
| 9 | +`#readthedocs`_ on Freenode or create a `ticket on GitHub`_. |
8 | 10 |
|
9 |
| -.. _contribution-guide.org: http://www.contribution-guide.org/#submitting-bugs |
| 11 | +.. _#readthedocs: irc://irc.freenode.net/readthedocs |
| 12 | +.. _ticket on GitHub: https://github.com/rtfd/readthedocs.org/issues |
| 13 | + |
| 14 | +Contributing to development |
| 15 | +--------------------------- |
10 | 16 |
|
11 |
| -Tickets |
12 |
| -------- |
| 17 | +If you want to deep dive and help out with development on Read the Docs, then |
| 18 | +first get the project installed locally according to the |
| 19 | +:ref:`Installation Guide <installing-read-the-docs>`. After that is done we |
| 20 | +suggest you have a look at tickets in our issue tracker that are labelled `Good |
| 21 | +First Bug`_. These are meant to be a great way to get a smooth start and |
| 22 | +won't put you in front of the most complex parts of the system. |
13 | 23 |
|
14 |
| -If you are just getting started with the project, |
15 |
| -we have tickets labeled `Good First Bug`_. |
16 |
| -This is a great way to get started. |
| 24 | +If you are up to more challenging tasks with a bigger scope, then there are a |
| 25 | +set of tickets with a `Feature Overview`_ tag. These tickets have a general |
| 26 | +overview and description of the work required to finish. If you want to start |
| 27 | +somewhere, this would be a good place to start. That said, these aren't |
| 28 | +necessarily the easiest tickets. They are simply things that are explained. If |
| 29 | +you still didn't find something to work on, search for the `Sprintable`_ |
| 30 | +label. Those tickets are meant to be standalone and can be worked on ad-hoc. |
17 | 31 |
|
18 |
| -If you want to help with a bigger feature, |
19 |
| -there are a set of tickets with a `Feature Overview`_ tag. |
20 |
| -These tickets have a general overview and description of the work required to finish. |
21 |
| -If you want to start somewhere, |
22 |
| -this would be a good place to start. |
23 |
| -That said, |
24 |
| -these aren't necessarily the easiest tickets. |
25 |
| -They are simply things that are explained. |
| 32 | +When contributing code, then please follow the standard Contribution |
| 33 | +Guidelines set forth at `contribution-guide.org`_. |
26 | 34 |
|
27 | 35 | .. _Feature Overview: https://github.com/rtfd/readthedocs.org/issues?direction=desc&labels=Feature+Overview&page=1&sort=updated&state=open
|
28 | 36 | .. _Good First Bug: https://github.com/rtfd/readthedocs.org/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Bug%22
|
| 37 | +.. _Sprintable: https://github.com/rtfd/readthedocs.org/issues?q=is%3Aopen+is%3Aissue+label%3ASprintable |
| 38 | +.. _contribution-guide.org: http://www.contribution-guide.org/#submitting-bugs |
| 39 | + |
| 40 | +Triaging tickets |
| 41 | +---------------- |
| 42 | + |
| 43 | +Here is a brief explanation on how we triage incoming tickets to get a better |
| 44 | +sense of what needs to be done on what end. |
| 45 | + |
| 46 | +Initial triage |
| 47 | +~~~~~~~~~~~~~~ |
| 48 | + |
| 49 | +When sitting down to do some triaging work, we start with the `list of |
| 50 | +untriaged tickets`_. We consider all tickets that do not have a label as |
| 51 | +untriaged. The first step is to categorize the ticket into one of the |
| 52 | +following categories and either close the ticket or assign an appropriate |
| 53 | +label. The reported issue … |
| 54 | + |
| 55 | +… is not valid |
| 56 | + If you think the ticket is invalid comment why you think it is invalid, |
| 57 | + then close the ticket. Tickets might be invalid if they were already fixed |
| 58 | + in the past or it was decided that the proposed feature will not be |
| 59 | + implemented because it does not conform with the overall goal of Read the |
| 60 | + Docs. Also if you happen to know that the problem was already reported, |
| 61 | + label the ticket with **Status: duplicate**, reference the other ticket |
| 62 | + that is already addressing the problem and close the duplicate. |
| 63 | + |
| 64 | + Examples: |
| 65 | + |
| 66 | + - *Builds fail when using matplotlib*: |
| 67 | + If the described issue was already fixed, then explain and instruct to |
| 68 | + re-trigger the build. |
| 69 | + - *Provide way to upload arbitrary HTML files*: |
| 70 | + It was already decided that Read the Docs is not a dull hosting platform |
| 71 | + for HTML. So explain this and close the ticket. |
| 72 | + |
| 73 | +.. _triage-not-enough-information: |
| 74 | + |
| 75 | +… does not provide enough information |
| 76 | + Add the label **Needed: more information** if the reported issue does not |
| 77 | + contain enough information to decide if it is valid or not and ask on the |
| 78 | + ticket for the required information to go forward. We will re-triage all |
| 79 | + tickets that have the label **Needed: more information** assigned. If the |
| 80 | + original reporter left new information we can try to re-categorize the |
| 81 | + ticket. If the reporter did not come back to provide more required |
| 82 | + information after a long enough time, we will close the ticket (this will be |
| 83 | + roughly about two weeks). |
| 84 | + |
| 85 | + Examples: |
| 86 | + |
| 87 | + - *My builds stopped working. Please help!* |
| 88 | + Ask for a link to the build log and for which project is affected. |
| 89 | + |
| 90 | +… is a valid enhancement proposal |
| 91 | + If the ticket contains an enhancement proposal that aligns with the goals |
| 92 | + of Read the Docs, then add the label **Enhancement**. If the proposal |
| 93 | + seems valid but requires further discussion between core contributors |
| 94 | + because there might be different possibilities on how to implement the |
| 95 | + enhancement, then also add the label **Needed: design decision**. |
| 96 | + |
| 97 | + Examples: |
| 98 | + |
| 99 | + - *Improve documentation about MKdocs integration* |
| 100 | + - *Provide better integration with service XYZ* |
| 101 | + - *Refactor module X for better readability* |
| 102 | + - *Achieve world domination* (also needs the label **Needed: design |
| 103 | + decision**) |
| 104 | + |
| 105 | +… is a valid problem within the code base: |
| 106 | + If it's a valid bug, then add the label **Bug**. Try to reference related |
| 107 | + issues if you come across any. |
| 108 | + |
| 109 | + Examples: |
| 110 | + |
| 111 | + - *Builds fail if conf.py contains non-ascii letters* |
| 112 | + |
| 113 | +… is a currently valid problem with the infrastructure: |
| 114 | + Users might report about web server downtimes or that builds are not |
| 115 | + triggered. If the ticket needs investigation on the servers, then add the |
| 116 | + label **Operations**. |
| 117 | + |
| 118 | + Examples: |
| 119 | + |
| 120 | + - *Builds are not starting* |
| 121 | + |
| 122 | +.. _triage-support-tickets: |
| 123 | + |
| 124 | +… is a question and needs answering: |
| 125 | + If the ticket contains a question about the Read the Docs platform or the |
| 126 | + code, then add the label **Support**. |
| 127 | + |
| 128 | + Examples: |
| 129 | + |
| 130 | + - *My account was set inactive. Why?* |
| 131 | + - *How to use C modules with Sphinx autodoc?* |
| 132 | + - *Why are my builds failing?* |
| 133 | + |
| 134 | +… requires a one-time action on the server: |
| 135 | + Tasks that require a one time action on the server should be assigned the |
| 136 | + two labels **Support** and **Operations**. |
| 137 | + |
| 138 | + Examples: |
| 139 | + |
| 140 | + - *Please change my username* |
| 141 | + - *Please set me as owner of this abondand project* |
| 142 | + |
| 143 | +After we finished the initial triaging of new tickets, no ticket should be left |
| 144 | +without a label. |
| 145 | + |
| 146 | +.. _list of untriaged tickets: https://github.com/rtfd/readthedocs.org/issues?q=is:issue+is:open+no:label |
| 147 | + |
| 148 | +Additional labels for categorization |
| 149 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 150 | + |
| 151 | +Additionally to the labels already involved in the section above, we have a |
| 152 | +few more at hand to further categorize issues. |
| 153 | + |
| 154 | +*High Priority* |
| 155 | + If the issue is urgent, assign this label. In the best case also go forward to |
| 156 | + resolve the ticket yourself as soon as possible. |
| 157 | + |
| 158 | +*Community Effort* |
| 159 | + There are many valuable ideas in the issue tracker for future enhancements |
| 160 | + of Read the Docs. Unfortunately to many for the core developers to handle |
| 161 | + all of them. Therefore we assign the *Community Effort* label on all the |
| 162 | + issues that we see as valid for the project but that we currently do not |
| 163 | + have the resources to work on. We encourage community members to work |
| 164 | + on these tickets and to submit a pull request. |
| 165 | + |
| 166 | +*Good First Bug* |
| 167 | + This label marks tickets that are easy to get started with. The ticket |
| 168 | + should be ideal for beginners to dive into the code base. Better is if the |
| 169 | + fix for the issue only involves touching one part of the code. |
| 170 | + |
| 171 | +*Sprintable* |
| 172 | + Sprintable are all tickets that have the right amount of scope to be |
| 173 | + handled during a sprint. They are very focused and encapsulated. |
| 174 | + |
| 175 | +*Feature Overview* |
| 176 | + If a feature is too big to be tackled in one ticket and should be split |
| 177 | + up, then we have a feature overview ticket explaining the overarching |
| 178 | + idea. Those tickets related to one feature should also be grouped by a |
| 179 | + `milestone`_. |
| 180 | + |
| 181 | +.. _milestone: https://github.com/rtfd/readthedocs.org/milestones |
| 182 | + |
| 183 | +For a full list of available labels and their meanings, see |
| 184 | +:ref:`issue-label-overview`. |
| 185 | + |
| 186 | +Helpful links for triaging |
| 187 | +~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 188 | + |
| 189 | +Here is a list of links for contributors that look for work: |
| 190 | + |
| 191 | +- `Untriaged tickets |
| 192 | + <https://github.com/rtfd/readthedocs.org/issues?q=is:issue+is:open+no:label>`_: |
| 193 | + Go and triage them! |
| 194 | +- `Tickets labelled with Needed: more information |
| 195 | + <https://github.com/rtfd/readthedocs.org/issues?utf8=✓&q=is:open+is:issue+label:"Needed:+more+information">`_: |
| 196 | + Come back to these tickets once in a while and close those that did not get |
| 197 | + any new information from the reporter. If new information is available, go |
| 198 | + and re-triage the ticket. |
| 199 | +- `Tickets labelled with Operations |
| 200 | + <https://github.com/rtfd/readthedocs.org/issues?q=is:open+is:issue+label:Operations>`_: |
| 201 | + These tickets are for contributors who have access to the servers. |
| 202 | +- `Tickets labelled with Support |
| 203 | + <https://github.com/rtfd/readthedocs.org/issues?q=is:open+is:issue+label:Support>`_: |
| 204 | + Experienced contributors or community members with a broad knowledge about |
| 205 | + the project should handle those. |
| 206 | +- `Tickets labelled with Needed: design decision |
| 207 | + <https://github.com/rtfd/readthedocs.org/issues?q=is:open+is:issue+label:"Needed:+design+decision">`_: |
| 208 | + Project leaders must take actions on these tickets. Otherwise no other |
| 209 | + contributor can go forward on them. |
29 | 210 |
|
30 |
| -Translations |
31 |
| ------------- |
| 211 | +Helping on translations |
| 212 | +----------------------- |
32 | 213 |
|
33 | 214 | If you wish to contribute translations, please do so on `Transifex`_.
|
34 | 215 |
|
|
0 commit comments