Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)
| ... | ... |
@@ -117,7 +117,7 @@ to indicate acceptance. |
| 117 | 117 |
A change requires LGTMs from an absolute majority of the maintainers of each |
| 118 | 118 |
component affected. For example, if a change affects docs/ and registry/, it |
| 119 | 119 |
needs an absolute majority from the maintainers of docs/ AND, separately, an |
| 120 |
-absolute majority of the maintainers of registry |
|
| 120 |
+absolute majority of the maintainers of registry. |
|
| 121 | 121 |
|
| 122 | 122 |
For more details see [MAINTAINERS.md](hack/MAINTAINERS.md) |
| 123 | 123 |
|
| ... | ... |
@@ -170,9 +170,14 @@ curl -o .git/hooks/prepare-commit-msg https://raw.github.com/dotcloud/docker/mas |
| 170 | 170 |
|
| 171 | 171 |
* Note: the above script expects to find your GitHub user name in ``git config --get github.user`` |
| 172 | 172 |
|
| 173 |
-If you have any questions, please refer to the FAQ in the [docs](http://docs.docker.io) |
|
| 173 |
+#### Small patch exception |
|
| 174 |
+ |
|
| 175 |
+There are several exceptions to the signing requirement. Currently these are: |
|
| 174 | 176 |
|
| 177 |
+* Your patch fixes spelling or grammar errors. |
|
| 178 |
+* Your patch is a single line change to documentation. |
|
| 175 | 179 |
|
| 180 |
+If you have any questions, please refer to the FAQ in the [docs](http://docs.docker.io) |
|
| 176 | 181 |
|
| 177 | 182 |
### How can I become a maintainer? |
| 178 | 183 |
|
| ... | ... |
@@ -189,10 +189,15 @@ How do I report a security issue with Docker? |
| 189 | 189 |
You can learn about the project's security policy `here <http://www.docker.io/security/>`_ |
| 190 | 190 |
and report security issues to this `mailbox <mailto:security@docker.com>`_. |
| 191 | 191 |
|
| 192 |
+Why do I need to sign my commits to Docker with the DCO? |
|
| 193 |
+........................................................ |
|
| 194 |
+ |
|
| 195 |
+Please read `our blog post <http://blog.docker.io/2014/01/docker-code-contributions-require-developer-certificate-of-origin/>`_ on the introduction of the DCO. |
|
| 196 |
+ |
|
| 192 | 197 |
Can I help by adding some questions and answers? |
| 193 | 198 |
................................................ |
| 194 | 199 |
|
| 195 |
- Definitely! You can fork `the repo`_ and edit the documentation sources. |
|
| 200 |
+Definitely! You can fork `the repo`_ and edit the documentation sources. |
|
| 196 | 201 |
|
| 197 | 202 |
|
| 198 | 203 |
Where can I find more answers? |
| ... | ... |
@@ -216,5 +221,4 @@ Where can I find more answers? |
| 216 | 216 |
.. _Ask questions on Stackoverflow: http://stackoverflow.com/search?q=docker |
| 217 | 217 |
.. _Join the conversation on Twitter: http://twitter.com/docker |
| 218 | 218 |
|
| 219 |
- |
|
| 220 | 219 |
Looking for something else to read? Checkout the :ref:`hello_world` example. |
| ... | ... |
@@ -1,22 +1,24 @@ |
| 1 |
-# The Docker maintainer manual |
|
| 1 |
+# The Docker Maintainer manual |
|
| 2 | 2 |
|
| 3 | 3 |
## Introduction |
| 4 | 4 |
|
| 5 |
-Dear maintainer. Thank you for investing the time and energy to help make Docker as |
|
| 6 |
-useful as possible. Maintaining a project is difficult, sometimes unrewarding work. |
|
| 7 |
-Sure, you will get to contribute cool features to the project. But most of your time |
|
| 8 |
-will be spent reviewing, cleaning up, documenting, answering questions, justifying |
|
| 9 |
-design decisions - while everyone has all the fun! But remember - the quality of the |
|
| 10 |
-maintainers work is what distinguishes the good projects from the great. |
|
| 11 |
-So please be proud of your work, even the unglamourous parts, and encourage a culture |
|
| 12 |
-of appreciation and respect for *every* aspect of improving the project - not just the |
|
| 13 |
-hot new features. |
|
| 5 |
+Dear maintainer. Thank you for investing the time and energy to help |
|
| 6 |
+make Docker as useful as possible. Maintaining a project is difficult, |
|
| 7 |
+sometimes unrewarding work. Sure, you will get to contribute cool |
|
| 8 |
+features to the project. But most of your time will be spent reviewing, |
|
| 9 |
+cleaning up, documenting, answering questions, justifying design |
|
| 10 |
+decisions - while everyone has all the fun! But remember - the quality |
|
| 11 |
+of the maintainers work is what distinguishes the good projects from the |
|
| 12 |
+great. So please be proud of your work, even the unglamourous parts, |
|
| 13 |
+and encourage a culture of appreciation and respect for *every* aspect |
|
| 14 |
+of improving the project - not just the hot new features. |
|
| 14 | 15 |
|
| 15 |
-This document is a manual for maintainers old and new. It explains what is expected of |
|
| 16 |
-maintainers, how they should work, and what tools are available to them. |
|
| 17 |
- |
|
| 18 |
-This is a living document - if you see something out of date or missing, speak up! |
|
| 16 |
+This document is a manual for maintainers old and new. It explains what |
|
| 17 |
+is expected of maintainers, how they should work, and what tools are |
|
| 18 |
+available to them. |
|
| 19 | 19 |
|
| 20 |
+This is a living document - if you see something out of date or missing, |
|
| 21 |
+speak up! |
|
| 20 | 22 |
|
| 21 | 23 |
## What are a maintainer's responsibility? |
| 22 | 24 |
|
| ... | ... |
@@ -24,19 +26,26 @@ It is every maintainer's responsibility to: |
| 24 | 24 |
|
| 25 | 25 |
* 1) Expose a clear roadmap for improving their component. |
| 26 | 26 |
* 2) Deliver prompt feedback and decisions on pull requests. |
| 27 |
-* 3) Be available to anyone with questions, bug reports, criticism etc. on their component. This includes irc, github requests and the mailing list. |
|
| 28 |
-* 4) Make sure their component respects the philosophy, design and roadmap of the project. |
|
| 29 |
- |
|
| 27 |
+* 3) Be available to anyone with questions, bug reports, criticism etc. |
|
| 28 |
+ on their component. This includes IRC, GitHub requests and the mailing |
|
| 29 |
+ list. |
|
| 30 |
+* 4) Make sure their component respects the philosophy, design and |
|
| 31 |
+ roadmap of the project. |
|
| 30 | 32 |
|
| 31 | 33 |
## How are decisions made? |
| 32 | 34 |
|
| 33 | 35 |
Short answer: with pull requests to the docker repository. |
| 34 | 36 |
|
| 35 |
-Docker is an open-source project with an open design philosophy. This means that the repository is the source of truth for EVERY aspect of the project, |
|
| 36 |
-including its philosophy, design, roadmap and APIs. *If it's part of the project, it's in the repo. It's in the repo, it's part of the project.* |
|
| 37 |
+Docker is an open-source project with an open design philosophy. This |
|
| 38 |
+means that the repository is the source of truth for EVERY aspect of the |
|
| 39 |
+project, including its philosophy, design, roadmap and APIs. *If it's |
|
| 40 |
+part of the project, it's in the repo. It's in the repo, it's part of |
|
| 41 |
+the project.* |
|
| 37 | 42 |
|
| 38 |
-As a result, all decisions can be expressed as changes to the repository. An implementation change is a change to the source code. An API change is a change to |
|
| 39 |
-the API specification. A philosophy change is a change to the philosophy manifesto. And so on. |
|
| 43 |
+As a result, all decisions can be expressed as changes to the |
|
| 44 |
+repository. An implementation change is a change to the source code. An |
|
| 45 |
+API change is a change to the API specification. A philosophy change is |
|
| 46 |
+a change to the philosophy manifesto. And so on. |
|
| 40 | 47 |
|
| 41 | 48 |
All decisions affecting docker, big and small, follow the same 3 steps: |
| 42 | 49 |
|
| ... | ... |
@@ -49,25 +58,36 @@ All decisions affecting docker, big and small, follow the same 3 steps: |
| 49 | 49 |
|
| 50 | 50 |
## Who decides what? |
| 51 | 51 |
|
| 52 |
-So all decisions are pull requests, and the relevant maintainer makes the decision by accepting or refusing the pull request. |
|
| 53 |
-But how do we identify the relevant maintainer for a given pull request? |
|
| 52 |
+So all decisions are pull requests, and the relevant maintainer makes |
|
| 53 |
+the decision by accepting or refusing the pull request. But how do we |
|
| 54 |
+identify the relevant maintainer for a given pull request? |
|
| 54 | 55 |
|
| 55 |
-Docker follows the timeless, highly efficient and totally unfair system known as [Benevolent dictator for life](http://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), |
|
| 56 |
-with yours truly, Solomon Hykes, in the role of BDFL. |
|
| 57 |
-This means that all decisions are made by default by me. Since making every decision myself would be highly un-scalable, in practice decisions are spread across multiple maintainers. |
|
| 56 |
+Docker follows the timeless, highly efficient and totally unfair system |
|
| 57 |
+known as [Benevolent dictator for |
|
| 58 |
+life](http://en.wikipedia.org/wiki/Benevolent_Dictator_for_Life), with |
|
| 59 |
+yours truly, Solomon Hykes, in the role of BDFL. This means that all |
|
| 60 |
+decisions are made by default by Solomon. Since making every decision |
|
| 61 |
+myself would be highly un-scalable, in practice decisions are spread |
|
| 62 |
+across multiple maintainers. |
|
| 58 | 63 |
|
| 59 | 64 |
The relevant maintainer for a pull request is assigned in 3 steps: |
| 60 | 65 |
|
| 61 |
-* Step 1: Determine the subdirectory affected by the pull request. This might be src/registry, docs/source/api, or any other part of the repo. |
|
| 66 |
+* Step 1: Determine the subdirectory affected by the pull request. This |
|
| 67 |
+ might be `src/registry`, `docs/source/api`, or any other part of the repo. |
|
| 62 | 68 |
|
| 63 |
-* Step 2: Find the MAINTAINERS file which affects this directory. If the directory itself does not have a MAINTAINERS file, work your way up the repo hierarchy until you find one. |
|
| 69 |
+* Step 2: Find the `MAINTAINERS` file which affects this directory. If the |
|
| 70 |
+ directory itself does not have a `MAINTAINERS` file, work your way up |
|
| 71 |
+ the repo hierarchy until you find one. |
|
| 64 | 72 |
|
| 65 |
-* Step 3: The first maintainer listed is the primary maintainer. The pull request is assigned to him. He may assign it to other listed maintainers, at his discretion. |
|
| 73 |
+* Step 3: The first maintainer listed is the primary maintainer. The |
|
| 74 |
+ pull request is assigned to him. He may assign it to other listed |
|
| 75 |
+ maintainers, at his discretion. |
|
| 66 | 76 |
|
| 67 | 77 |
|
| 68 | 78 |
### I'm a maintainer, should I make pull requests too? |
| 69 | 79 |
|
| 70 |
-Yes. Nobody should ever push to master directly. All changes should be made through a pull request. |
|
| 80 |
+Yes. Nobody should ever push to master directly. All changes should be |
|
| 81 |
+made through a pull request. |
|
| 71 | 82 |
|
| 72 | 83 |
### Who assigns maintainers? |
| 73 | 84 |
|