Browse code

Updating to account for new contributors guide. Primary links will go to the contributor's guide Adding in Fred's comments Tweak list alignment

Signed-off-by: Mary Anthony <mary.anthony@docker.com>

Mary Anthony authored on 2015/03/10 03:31:32
Showing 3 changed files
... ...
@@ -1,70 +1,61 @@
1 1
 # Contributing to Docker
2 2
 
3
-Want to hack on Docker? Awesome! Here are instructions to get you
4
-started. They are probably not perfect; please let us know if anything
5
-feels wrong or incomplete.
3
+Want to hack on Docker? Awesome!  We have a contributor's guide that explains
4
+[setting up a Docker development environment and the contribution
5
+process](https://docs.docker.com/project/who-written-for/). 
6
+
7
+[![Foo](docs/sources/static_files/contributors.png)](https://docs.docker.com/
8
+project/who-written-for/)
9
+
10
+This page contains information about reporting issues as well as some tips and
11
+guidelines useful to experienced open source contributors. Finally, make sure
12
+you read our [community guidelines](#docker-community-guidelines) before you
13
+start participating.
6 14
 
7 15
 ## Topics
8 16
 
9 17
 * [Reporting Security Issues](#reporting-security-issues)
10 18
 * [Design and Cleanup Proposals](#design-and-cleanup-proposals)
11
-* [Reporting Issues](#reporting-issues)
12
-* [Build Environment](#build-environment)
13
-* [Contribution Guidelines](#contribution-guidelines)
19
+* [Reporting Issues](#reporting-other-issues)
20
+* [Quick Contribution Tips and Guidelines](#quick-contribution-tips-and-guidelines)
14 21
 * [Community Guidelines](#docker-community-guidelines)
15 22
 
16
-## Reporting Security Issues
17
-
18
-The Docker maintainers take security very seriously. If you discover a security issue,
19
-please bring it to their attention right away!
20
-
21
-Please send your report privately to [security@docker.com](mailto:security@docker.com),
22
-please **DO NOT** file a public issue.
23
-
24
-Security reports are greatly appreciated and we will publicly thank you for it. We also
25
-like to send gifts - if you're into Docker shwag make sure to let us know :)
26
-We currently do not offer a paid security bounty program, but are not ruling it out in
27
-the future.
23
+## Reporting security issues
28 24
 
29
-## Design and Cleanup Proposals
25
+The Docker maintainers take security seriously. If you discover a security
26
+issue, please bring it to their attention right away!
30 27
 
31
-When considering a design proposal, we are looking for:
28
+Please **DO NOT** file a public issue, instead send your report privately to
29
+[security@docker.com](mailto:security@docker.com), 
32 30
 
33
-* A description of the problem this design proposal solves
34
-* A pull request, not an issue, that modifies the documentation describing
35
-  the feature you are proposing, adding new documentation if necessary.
36
-  * Please prefix your issue with `Proposal:` in the title
37
-* Please review [the existing Proposals](https://github.com/docker/docker/pulls?q=is%3Aopen+is%3Apr+label%3AProposal)
38
-  before reporting a new one. You can always pair with someone if you both
39
-  have the same idea.
31
+Security reports are greatly appreciated and we will publicly thank you for it.
32
+We also like to send gifts&mdash;if you're into Docker schwag make sure to let
33
+us know We currently do not offer a paid security bounty program, but are not
34
+ruling it out in the future.
40 35
 
41
-When considering a cleanup task, we are looking for:
42 36
 
43
-* A description of the refactors made
44
-  * Please note any logic changes if necessary
45
-* A pull request with the code
46
-  * Please prefix your PR's title with `Cleanup:` so we can quickly address it.
47
-  * Your pull request must remain up to date with master, so rebase as necessary.
48
-
49
-## Reporting Issues
37
+## Reporting other issues
50 38
 
51 39
 A great way to contribute to the project is to send a detailed report when you
52 40
 encounter an issue. We always appreciate a well-written, thorough bug report,
53 41
 and will thank you for it!
54 42
 
55
-When reporting [issues](https://github.com/docker/docker/issues) on
56
-GitHub please include your host OS (Ubuntu 12.04, Fedora 19, etc).
57
-Please include:
43
+Check that [our issue database](https://github.com/docker/docker/issues)
44
+doesn't already include that problem or suggestion before submitting an issue.
45
+If you find a match, add a quick "+1" or "I have this problem too." Doing this
46
+helps prioritize the most common problems and requests.
47
+
48
+When reporting issues, please include your host OS (Ubuntu 12.04, Fedora 19,
49
+etc). Please include:
58 50
 
59 51
 * The output of `uname -a`.
60 52
 * The output of `docker version`.
61 53
 * The output of `docker -D info`.
62 54
 
63
-Please also include the steps required to reproduce the problem if
64
-possible and applicable.  This information will help us review and fix
65
-your issue faster.
55
+Please also include the steps required to reproduce the problem if possible and
56
+applicable. This information will help us review and fix your issue faster.
66 57
 
67
-### Template
58
+**Issue Report Template**:
68 59
 
69 60
 ```
70 61
 Description of problem:
... ...
@@ -103,123 +94,159 @@ Additional info:
103 103
 
104 104
 ```
105 105
 
106
-## Build Environment
107
-
108
-For instructions on setting up your development environment, please
109
-see our dedicated [dev environment setup
110
-docs](http://docs.docker.com/contributing/devenvironment/).
111
-
112
-## Contribution guidelines
113
-
114
-### Pull requests are always welcome
115 106
 
116
-We are always thrilled to receive pull requests, and do our best to
117
-process them as quickly as possible. Not sure if that typo is worth a pull
118
-request? Do it! We will appreciate it.
107
+##Quick contribution tips and guidelines
108
+
109
+This section gives the experienced contributor some tips and guidelines.
110
+
111
+###Pull requests are always welcome
112
+
113
+Not sure if that typo is worth a pull request? Found a bug and know how to fix
114
+it? Do it! We will appreciate it. Any significant improvement should be
115
+documented as [a GitHub issue](https://github.com/docker/docker/issues) before
116
+anybody starts working on it.
117
+
118
+We are always thrilled to receive pull requests. We do our best to process them
119
+quickly. If your pull request is not accepted on the first try,
120
+don't get discouraged! Our contributor's guide explains [the review process we
121
+use for simple changes](https://docs.docker.com/project/make-a-contribution/).
122
+
123
+### Design and cleanup proposals
124
+
125
+You can propose new designs for existing Docker features. You can also design
126
+entirely new features. We really appreciate contributors who want to refactor or
127
+otherwise cleanup our project. For information on making these types of
128
+contributions, see [the advanced contribution
129
+section](https://docs.docker.com/project/advanced-contributing/) in the
130
+contributors guide.
131
+
132
+We try hard to keep Docker lean and focused. Docker can't do everything for
133
+everybody. This means that we might decide against incorporating a new feature.
134
+However, there might be a way to implement that feature *on top of* Docker.
135
+
136
+### Talking to other Docker users and contributors
137
+
138
+<table class="tg">
139
+  <col width="45%">
140
+  <col width="65%">
141
+  <tr>
142
+    <td>Internet&nbsp;Relay&nbsp;Chat&nbsp;(IRC)</th>
143
+    <td>
144
+      <p>
145
+        IRC a direct line to our most knowledgeable Docker users; we have
146
+        both the  <code>#docker</code> and <code>#docker-dev</code> group on 
147
+        <strong>irc.freenode.net</strong>.  
148
+        IRC is a rich chat protocol but it can overwhelm new users. You can search
149
+        <a href="https://botbot.me/freenode/docker/#" target="_blank">our chat archives</a>.
150
+      </p>
151
+      Read our <a href="https://docs.docker.com/project/get-help/#irc-quickstart" target="_blank">IRC quickstart guide</a> for an easy way to get started.
152
+    </td>
153
+  </tr>
154
+  <tr>
155
+    <td>Google Groups</td>
156
+    <td>
157
+      There are two groups.
158
+      <a href="https://groups.google.com/forum/#!forum/docker-user" target="_blank">Docker-user</a>
159
+      is for people using Docker containers. 
160
+      The <a href="https://groups.google.com/forum/#!forum/docker-dev" target="_blank">docker-dev</a> 
161
+      group is for contributors and other people contributing to the Docker 
162
+      project.
163
+    </td>
164
+  </tr>
165
+  <tr>
166
+    <td>Twitter</td>
167
+    <td>
168
+      You can follow <a href="https://twitter.com/docker/" target="_blank">Docker's Twitter feed</a>
169
+      to get updates on our products. You can also tweet us questions or just 
170
+      share blogs or stories.
171
+    </td>
172
+  </tr>
173
+  <tr>
174
+    <td>Stack Overflow</td>
175
+    <td>
176
+      Stack Overflow has over 7000K Docker questions listed. We regularly 
177
+      monitor <a href="http://stackoverflow.com/search?tab=newest&q=docker" target="_blank">Docker questions</a>
178
+      and so do many other knowledgeable Docker users.
179
+    </td>
180
+  </tr>
181
+</table>
119 182
 
120
-If your pull request is not accepted on the first try, don't be
121
-discouraged! If there's a problem with the implementation, hopefully you
122
-received feedback on what to improve.
123
-
124
-We're trying very hard to keep Docker lean and focused. We don't want it
125
-to do everything for everybody. This means that we might decide against
126
-incorporating a new feature. However, there might be a way to implement
127
-that feature *on top of* Docker.
128
-
129
-### Discuss your design on the mailing list
130
-
131
-We recommend discussing your plans [on the mailing
132
-list](https://groups.google.com/forum/?fromgroups#!forum/docker-dev)
133
-before starting to code - especially for more ambitious contributions.
134
-This gives other contributors a chance to point you in the right
135
-direction, give feedback on your design, and maybe point out if someone
136
-else is working on the same thing.
137
-
138
-### Create issues...
139
-
140
-Any significant improvement should be documented as [a GitHub
141
-issue](https://github.com/docker/docker/issues) before anybody
142
-starts working on it.
143
-
144
-### ...but check for existing issues first!
145
-
146
-Please take a moment to check that an issue doesn't already exist
147
-documenting your bug report or improvement proposal. If it does, it
148
-never hurts to add a quick "+1" or "I have this problem too". This will
149
-help prioritize the most common problems and requests.
150 183
 
151 184
 ### Conventions
152 185
 
153 186
 Fork the repository and make changes on your fork in a feature branch:
154 187
 
155
-- If it's a bug fix branch, name it XXXX-something where XXXX is the number of the
156
-  issue.
157
-- If it's a feature branch, create an enhancement issue to announce your
158
-  intentions, and name it XXXX-something where XXXX is the number of the issue.
159
-
160
-Submit unit tests for your changes.  Go has a great test framework built in; use
161
-it! Take a look at existing tests for inspiration. Run the full test suite on
162
-your branch before submitting a pull request.
163
-
164
-Update the documentation when creating or modifying features. Test
165
-your documentation changes for clarity, concision, and correctness, as
166
-well as a clean documentation build. See `docs/README.md` for more
167
-information on building the docs and how they get released.
188
+- If it's a bug fix branch, name it XXXX-something where XXXX is the number of
189
+	the issue. 
190
+- If it's a feature branch, create an enhancement issue to announce
191
+	your intentions, and name it XXXX-something where XXXX is the number of the
192
+	issue.
193
+
194
+Submit unit tests for your changes. Go has a great test framework built in; use
195
+it! Take a look at existing tests for inspiration. [Run the full test
196
+suite](https://docs.docker.com/project/test-and-docs/) on your branch before
197
+submitting a pull request.
198
+
199
+Update the documentation when creating or modifying features. Test your
200
+documentation changes for clarity, concision, and correctness, as well as a
201
+clean documentation build. See our contributors guide for [our style
202
+guide](https://docs.docker.com/project/doc-style) and instructions on [building
203
+the
204
+documentation](https://docs.docker.com/project/test-and-docs/#build-and-test-the
205
+- documentation).
168 206
 
169 207
 Write clean code. Universally formatted code promotes ease of writing, reading,
170 208
 and maintenance. Always run `gofmt -s -w file.go` on each changed file before
171 209
 committing your changes. Most editors have plug-ins that do this automatically.
172 210
 
173
-Pull requests descriptions should be as clear as possible and include a
174
-reference to all the issues that they address.
211
+Pull request descriptions should be as clear as possible and include a reference
212
+to all the issues that they address.
175 213
 
176
-Commit messages must start with a capitalized and short summary (max. 50
177
-chars) written in the imperative, followed by an optional, more detailed
178
-explanatory text which is separated from the summary by an empty line.
214
+Commit messages must start with a capitalized and short summary (max. 50 chars)
215
+written in the imperative, followed by an optional, more detailed explanatory
216
+text which is separated from the summary by an empty line.
179 217
 
180 218
 Code review comments may be added to your pull request. Discuss, then make the
181
-suggested modifications and push additional commits to your feature branch. Be
182
-sure to post a comment after pushing. The new commits will show up in the pull
183
-request automatically, but the reviewers will not be notified unless you
184
-comment.
219
+suggested modifications and push additional commits to your feature branch. Post
220
+a comment after pushing. New commits show up in the pull request automatically,
221
+but the reviewers are notified only when you comment.
185 222
 
186
-Pull requests must be cleanly rebased ontop of master without multiple branches
223
+Pull requests must be cleanly rebased on top of master without multiple branches
187 224
 mixed into the PR.
188 225
 
189 226
 **Git tip**: If your PR no longer merges cleanly, use `rebase master` in your
190 227
 feature branch to update your pull request rather than `merge master`.
191 228
 
192
-Before the pull request is merged, make sure that you squash your commits into
193
-logical units of work using `git rebase -i` and `git push -f`. After every
194
-commit the test suite should be passing. Include documentation changes in the
195
-same commit so that a revert would remove all traces of the feature or fix.
229
+Before you make a pull request, squash your commits into logical units of work
230
+using `git rebase -i` and `git push -f`. After every commit, [make sure the test
231
+suite passes]((https://docs.docker.com/project/test-and-docs/)). Include
232
+documentation changes in the same pull request so that a revert would remove all
233
+traces of the feature or fix.
196 234
 
197
-Commits that fix or close an issue should include a reference like
198
-`Closes #XXXX` or `Fixes #XXXX`, which will automatically close the
199
-issue when merged.
235
+Include an issue reference like `Closes #XXXX` or `Fixes #XXXX` in commits that
236
+close an issue. Including references automatically closes the issue on a merge.
200 237
 
201
-Please do not add yourself to the `AUTHORS` file, as it is regenerated
202
-regularly from the Git history.
238
+Please do not add yourself to the `AUTHORS` file, as it is regenerated regularly
239
+from the Git history.
203 240
 
204 241
 ### Merge approval
205 242
 
206
-Docker maintainers use LGTM (Looks Good To Me) in comments on the code review
207
-to indicate acceptance.
243
+Docker maintainers use LGTM (Looks Good To Me) in comments on the code review to
244
+indicate acceptance.
208 245
 
209 246
 A change requires LGTMs from an absolute majority of the maintainers of each
210 247
 component affected. For example, if a change affects `docs/` and `registry/`, it
211 248
 needs an absolute majority from the maintainers of `docs/` AND, separately, an
212 249
 absolute majority of the maintainers of `registry/`.
213 250
 
214
-For more details see [MAINTAINERS](MAINTAINERS)
251
+For more details, see the [MAINTAINERS](MAINTAINERS) page.
215 252
 
216 253
 ### Sign your work
217 254
 
218
-The sign-off is a simple line at the end of the explanation for the
219
-patch, which certifies that you wrote it or otherwise have the right to
220
-pass it on as an open-source patch.  The rules are pretty simple: if you
221
-can certify the below (from
222
-[developercertificate.org](http://developercertificate.org/)):
255
+The sign-off is a simple line at the end of the explanation for the patch. Your
256
+signature certifies that you wrote the patch or otherwise have the right to pass
257
+it on as an open-source patch. The rules are pretty simple: if you can certify
258
+the below (from [developercertificate.org](http://developercertificate.org/)):
223 259
 
224 260
 ```
225 261
 Developer Certificate of Origin
... ...
@@ -263,7 +290,7 @@ Then you just add a line to every git commit message:
263 263
 
264 264
     Signed-off-by: Joe Smith <joe.smith@email.com>
265 265
 
266
-Using your real name (sorry, no pseudonyms or anonymous contributions.)
266
+Use your real name (sorry, no pseudonyms or anonymous contributions.)
267 267
 
268 268
 If you set your `user.name` and `user.email` git configs, you can sign your
269 269
 commit automatically with `git commit -s`.
... ...
@@ -280,45 +307,45 @@ format right away, but please do adjust your processes for future contributions.
280 280
 * Step 4: Propose yourself at a scheduled docker meeting in #docker-dev
281 281
 
282 282
 Don't forget: being a maintainer is a time investment. Make sure you
283
-will have time to make yourself available.  You don't have to be a
283
+will have time to make yourself available. You don't have to be a
284 284
 maintainer to make a difference on the project!
285 285
 
286
-### IRC Meetings
286
+### IRC meetings
287 287
 
288
-There are two monthly meetings taking place on #docker-dev IRC to accomodate all timezones.
289
-Anybody can ask for a topic to be discussed prior to the meeting.
288
+There are two monthly meetings taking place on #docker-dev IRC to accomodate all
289
+timezones. Anybody can propose a topic for discussion prior to the meeting.
290 290
 
291 291
 If you feel the conversation is going off-topic, feel free to point it out.
292 292
 
293
-For the exact dates and times, have a look at [the irc-minutes repo](https://github.com/docker/irc-minutes).
294
-They also contain all the notes from previous meetings.
293
+For the exact dates and times, have a look at [the irc-minutes
294
+repo](https://github.com/docker/irc-minutes). The minutes also contain all the
295
+notes from previous meetings.
295 296
 
296
-## Docker Community Guidelines
297
+## Docker community guidelines
297 298
 
298
-We want to keep the Docker community awesome, growing and collaborative. We
299
-need your help to keep it that way. To help with this we've come up with some
300
-general guidelines for the community as a whole:
299
+We want to keep the Docker community awesome, growing and collaborative. We need
300
+your help to keep it that way. To help with this we've come up with some general
301
+guidelines for the community as a whole:
301 302
 
302
-* Be nice: Be courteous, respectful and polite to fellow community members: no
303
-  regional, racial, gender, or other abuse will be tolerated. We like nice people
304
-  way better than mean ones!
303
+* Be nice: Be courteous, respectful and polite to fellow community members:
304
+  no regional, racial, gender, or other abuse will be tolerated. We like
305
+  nice people way better than mean ones!
305 306
 
306
-* Encourage diversity and participation: Make everyone in our community
307
-  feel welcome, regardless of their background and the extent of their
307
+* Encourage diversity and participation: Make everyone in our community feel
308
+  welcome, regardless of their background and the extent of their
308 309
   contributions, and do everything possible to encourage participation in
309 310
   our community.
310 311
 
311 312
 * Keep it legal: Basically, don't get us in trouble. Share only content that
312
-  you own, do not share private or sensitive information, and don't break the
313
-  law.
313
+  you own, do not share private or sensitive information, and don't break
314
+  the law.
314 315
 
315
-* Stay on topic: Make sure that you are posting to the correct channel
316
-  and avoid off-topic discussions. Remember when you update an issue or
317
-  respond to an email you are potentially sending to a large number of
318
-  people.  Please consider this before you update.  Also remember that
319
-  nobody likes spam.
316
+* Stay on topic: Make sure that you are posting to the correct channel and
317
+  avoid off-topic discussions. Remember when you update an issue or respond
318
+  to an email you are potentially sending to a large number of people. Please
319
+  consider this before you update. Also remember that nobody likes spam.
320 320
 
321
-### Guideline Violations — 3 Strikes Method
321
+### Guideline violations — 3 strikes method
322 322
 
323 323
 The point of this section is not to find opportunities to punish people, but we
324 324
 do need a fair way to deal with people who are making our community suck.
... ...
@@ -337,20 +364,19 @@ do need a fair way to deal with people who are making our community suck.
337 337
 * Obvious spammers are banned on first occurrence. If we don't do this, we'll
338 338
   have spam all over the place.
339 339
 
340
-* Violations are forgiven after 6 months of good behavior, and we won't
341
-  hold a grudge.
340
+* Violations are forgiven after 6 months of good behavior, and we won't hold a
341
+  grudge.
342 342
 
343
-* People who commit minor infractions will get some education,
344
-  rather than hammering them in the 3 strikes process.
343
+* People who commit minor infractions will get some education, rather than
344
+  hammering them in the 3 strikes process.
345 345
 
346
-* The rules apply equally to everyone in the community, no matter how
347
-  much you've contributed.
346
+* The rules apply equally to everyone in the community, no matter how much
347
+	you've contributed.
348 348
 
349 349
 * Extreme violations of a threatening, abusive, destructive or illegal nature
350
-  will be addressed immediately and are not subject to 3 strikes or
351
-  forgiveness.
350
+	will be addressed immediately and are not subject to 3 strikes or forgiveness.
352 351
 
353 352
 * Contact abuse@docker.com to report abuse or appeal violations. In the case of
354
-  appeals, we know that mistakes happen, and we'll work with you to come up with
355
-  a fair solution if there has been a misunderstanding.
353
+	appeals, we know that mistakes happen, and we'll work with you to come up with a
354
+	fair solution if there has been a misunderstanding.
356 355
 
... ...
@@ -183,12 +183,14 @@ Contributing to Docker
183 183
 [![Jenkins Build Status](https://jenkins.dockerproject.com/job/Docker%20Master/badge/icon)](https://jenkins.dockerproject.com/job/Docker%20Master/)
184 184
 
185 185
 Want to hack on Docker? Awesome! We have [instructions to help you get
186
-started](CONTRIBUTING.md). If you'd like to contribute to the
187
-documentation, please take a look at this [README.md](https://github.com/docker/docker/blob/master/docs/README.md).
186
+started contributing code or documentation.](https://docs.docker.com/project/who-written-for/).
188 187
 
189 188
 These instructions are probably not perfect, please let us know if anything
190 189
 feels wrong or incomplete. Better yet, submit a PR and improve them yourself.
191 190
 
191
+Getting the development builds
192
+==============================
193
+
192 194
 Want to run Docker from a master build? You can download 
193 195
 master builds at [master.dockerproject.com](https://master.dockerproject.com). 
194 196
 They are updated with each commit merged into the master branch.
195 197
new file mode 100644
196 198
Binary files /dev/null and b/docs/sources/static_files/contributors.png differ