|
| 1 | +The libseccomp-golang Maintainer Process |
| 2 | +=============================================================================== |
| 3 | +https://github.com/seccomp/libseccomp-golang |
| 4 | + |
| 5 | +This document attempts to describe the processes that should be followed by the |
| 6 | +various libseccomp-golang maintainers. It is not intended as a hard |
| 7 | +requirement, but rather as a guiding document intended to make it easier for |
| 8 | +multiple co-maintainers to manage the libseccomp-golang project. |
| 9 | + |
| 10 | +We recognize this document, like all other parts of the libseccomp-golang |
| 11 | +project, is not perfect. If changes need to be made, they should be made |
| 12 | +following the guidelines described here. |
| 13 | + |
| 14 | +### Reviewing and Merging Patches |
| 15 | + |
| 16 | +In a perfect world each patch would be independently reviewed and ACK'd by each |
| 17 | +maintainer, but we recognize that is not likely to be practical for each patch. |
| 18 | +Under normal circumstances, each patch should be ACK'd by a simple majority of |
| 19 | +maintainers (in the case of an even number of maintainers, N/2+1) before being |
| 20 | +merged into the repository. Maintainers should ACK patches using a format |
| 21 | +similar to the Linux Kernel, for example: |
| 22 | + |
| 23 | +``` |
| 24 | +Acked-by: John Smith <[email protected]> |
| 25 | +``` |
| 26 | + |
| 27 | +The maintainer which merged the patch into the repository should add their |
| 28 | +sign-off after ensuring that it is correct to do so (see the documentation on |
| 29 | +submitting patches); if it is not correct for the maintainer to add their |
| 30 | +sign-off, it is likely the patch should not be merged. The maintainer should |
| 31 | +add their sign-off using the standard format at the end of the patch's |
| 32 | +metadata, for example: |
| 33 | + |
| 34 | +``` |
| 35 | +Signed-off-by: Jane Smith <[email protected]> |
| 36 | +``` |
| 37 | + |
| 38 | +The maintainers are encouraged to communicate with each other for many reasons, |
| 39 | +one of which is to let the others when one is going to be unreachable for an |
| 40 | +extended period of time. If a patch is being held due to a lack of ACKs and |
| 41 | +the other maintainers are not responding after a reasonable period of time (for |
| 42 | +example, a delay of over two weeks), as long as there are no outstanding NACKs |
| 43 | +the patch can be merged without a simple majority. |
| 44 | + |
| 45 | +### Managing Sensitive Vulnerability Reports |
| 46 | + |
| 47 | +The libseccomp-golang vulnerability reporting process is documented in the |
| 48 | +SECURITY.md document. |
| 49 | + |
| 50 | +The maintainers should work together with the reporter to asses the validity |
| 51 | +and seriousness of the reported vulnerability. |
| 52 | + |
| 53 | +### Managing the GitHub Issue Tracker |
| 54 | + |
| 55 | +We use the GitHub issue tracker to track bugs, feature requests, and sometimes |
| 56 | +unanswered questions. The conventions here are intended to help distinguish |
| 57 | +between the different uses, and prioritize within those categories. |
| 58 | + |
| 59 | +Feature requests MUST have a "RFE:" prefix added to the issue name and use the |
| 60 | +"enhancement" label. Bug reports MUST a "BUG:" prefix added to the issue name |
| 61 | +and use the "bug" label. |
| 62 | + |
| 63 | +Issues SHOULD be prioritized using the "priority/high", "priority/medium", and |
| 64 | +"priority/low" labels. The meaning should hopefully be obvious. |
| 65 | + |
| 66 | +Issues CAN be additionally labeled with the "pending/info", "pending/review", |
| 67 | +and "pending/revision" labels to indicate that additional information is |
| 68 | +needed, the issue/patch is pending review, and/or the patch requires changes. |
| 69 | + |
| 70 | +### Managing the GitHub Release Milestones |
| 71 | + |
| 72 | +There should be at least two GitHub milestones at any point in time: one for |
| 73 | +the next major/minor release, and one for the next patch release. As issues |
| 74 | +are entered into the system, they can be added to the milestones at the |
| 75 | +discretion of the maintainers. |
| 76 | + |
| 77 | +### Handling Inappropriate Community Behavior |
| 78 | + |
| 79 | +The libseccomp-golang project community is relatively small, and almost always |
| 80 | +respectful and considerate. However, there have been some limited cases of |
| 81 | +inappropriate behavior and it is the responsibility of the maintainers to deal |
| 82 | +with it accordingly. |
| 83 | + |
| 84 | +As mentioned above, the maintainers are encouraged to communicate with each |
| 85 | +other, and this communication is very important in this case. When |
| 86 | +inappropriate behavior is identified in the project (e.g. mailing list, GitHub, |
| 87 | +etc.) the maintainers should talk with each other as well as the responsible |
| 88 | +individual to try and correct the behavior. If the individual continues to act |
| 89 | +inappropriately the maintainers can block the individual from the project using |
| 90 | +whatever means are available. This should only be done as a last resort, and |
| 91 | +with the agreement of all the maintainers. In cases where a quick response is |
| 92 | +necessary, a maintainer can unilaterally block an individual, but the block |
| 93 | +should be reviewed by all the other maintainers soon afterwards. |
| 94 | + |
| 95 | +### New Project Releases |
| 96 | + |
| 97 | +The libseccomp-golang release process is documented in the RELEASE_PROCESS.md |
| 98 | +document. |
0 commit comments