github.com/opencontainers/umoci@v0.4.8-0.20240508124516-656e4836fb0d/CONTRIBUTING.md (about) 1 <!-- 2 +++ 3 # Hugo Front-matter 4 title = "Contribution Guidelines" 5 aliases = ["/CONTRIBUTING.md"] 6 +++ 7 --> 8 9 ## Contribution Guidelines ## 10 11 If you're reading this, you're likely interested in contributing to this 12 project. That's great! The intention of this document is to describe the basic 13 requirements and rules-of-thumb for contributions. 14 15 ### Security Issues ### 16 17 If you are reporting a security issue, please do not create an issue or file a 18 pull request on GitHub. Instead, disclose the issue by sending an email to 19 <mailto:security@opencontainers.org>. If you feel it is necessary you may also 20 encrypt your email with [Pretty Good Privacy (PGP)][pgp] using the set of PGP 21 keys listed in the [umoci keyring][umoci-keyring]. 22 <!-- TODO: We really shouldn't be using the release keys for encryption. --> 23 24 [pgp]: https://en.wikipedia.org/wiki/Pretty_Good_Privacy 25 [umoci-keyring]: /umoci.keyring 26 27 ### Issues ### 28 29 If you have found a bug in this project or have a question, first make sure 30 that the issue you are facing has not already been reported by another user. If 31 the issue you are facing has already been reported and you have more 32 information to provide, feel free to add a follow-up comment (but avoid adding 33 "me too" style comments as it distracts from discussion). If you couldn't find 34 an existing report for your issue, feel free to [open a new issue][issue-new]. 35 If you do not wish to use proprietary software to submit an issue, you may send 36 an email to <mailto:cyphar@cyphar.com> and I will submit an issue on your 37 behalf. 38 39 When reporting an issue, please provide the following information (to the best 40 of your ability) so we can debug your issue far more easily: 41 42 * The version of this project you are using. If you are not using the latest 43 version of this project, please try to reproduce your issue on the latest 44 version. 45 46 * A (short) description of what you are trying to accomplish so as to avoid the 47 [XY problem][xy-problem]. 48 49 * A minimal example of the bug with a contrast between what you expect to 50 happen versus what actually happened. 51 52 [issue-new]: https://github.com/opencontainers/umoci/issues/new 53 [xy-problem]: http://xyproblem.info/ 54 55 ### Submitting Changes ### 56 57 In order to submit a change, you may [create a pull request][pr-new]. If you do 58 not wish to use proprietary software to submit an pull request, you may send an 59 email to <mailto:cyphar@cyphar.com> and I will submit a pull request on your 60 behalf. 61 62 All changes should be based off the latest commit of the `master` branch of 63 this project. In order for a change to be merged into this project, it must 64 fulfil all of the following requirements (note that many of these only apply 65 for major changes): 66 67 * All changes must pass the automated testing and continuous integration. This 68 means they must build successfully without errors, must not produce errors 69 from static analysis and must not break existing functionality. You can run 70 all of these tests on your local machine if you wish by reading through 71 `.travis.yml` and running the listed commands. 72 73 * All changes must be formatted using the Go style conventions, which ensures 74 that code remains consistent. You can automatically format your code in any 75 given `file.go` using `go fmt -s -w file.go`. 76 77 * Any significant changes (such as those that implement a feature or fix a bug) 78 must include an entry in the top-level [`CHANGELOG.md`][changelog] (see the 79 file for more details) that describes the change and links to the pull 80 request that implemented it (as well as issues that are being resolved). 81 82 * Any feature change or bug fix should include one or more corresponding test 83 cases to ensure that the code is operating as intended. Significant features 84 warrant the addition of significant numbers of both integration and unit 85 tests. 86 87 * Any feature change should include a corresponding change to the project 88 documentation describing the feature and how it should be used. 89 90 If you miss any of the above things, don't worry we'll remind you and provide 91 help if you need any. In addition to the above requirements, your code will be 92 reviewed by the maintainer(s) of this project, using the looks-good-to-me 93 system (LGTM). All patches must have the approval of at least two maintainers 94 before they are merged (the only exception to this is related to the approval 95 of security patches -- which must be approved in private instead). 96 97 Each commit should be self-contained and minimal (and should build and pass the 98 tests individually), and commit messages should follow the Linux kernel style 99 of commit messages. For more information see [§ 2 and 3 of 100 `submitting-patches.rst` from the Linux kernel source][lk-commit]. 101 102 In addition, all commits must include a `Signed-off-by:` line in their 103 description. This indicates that you certify [the following statement, known as 104 the Developer Certificate of Origin][dco]). You can automatically add this line 105 to your commits by using `git commit -s --amend`. 106 107 ``` 108 Developer Certificate of Origin 109 Version 1.1 110 111 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 112 1 Letterman Drive 113 Suite D4700 114 San Francisco, CA, 94129 115 116 Everyone is permitted to copy and distribute verbatim copies of this 117 license document, but changing it is not allowed. 118 119 120 Developer's Certificate of Origin 1.1 121 122 By making a contribution to this project, I certify that: 123 124 (a) The contribution was created in whole or in part by me and I 125 have the right to submit it under the open source license 126 indicated in the file; or 127 128 (b) The contribution is based upon previous work that, to the best 129 of my knowledge, is covered under an appropriate open source 130 license and I have the right under that license to submit that 131 work with modifications, whether created in whole or in part 132 by me, under the same open source license (unless I am 133 permitted to submit under a different license), as indicated 134 in the file; or 135 136 (c) The contribution was provided directly to me by some other 137 person who certified (a), (b) or (c) and I have not modified 138 it. 139 140 (d) I understand and agree that this project and the contribution 141 are public and that a record of the contribution (including all 142 personal information I submit with it, including my sign-off) is 143 maintained indefinitely and may be redistributed consistent with 144 this project or the open source license(s) involved. 145 ``` 146 147 [pr-new]: https://github.com/opencontainers/umoci/compare 148 [changelog]: /CHANGELOG.md 149 [lk-commit]: https://www.kernel.org/doc/Documentation/process/submitting-patches.rst 150 [dco]: https://developercertificate.org/