|
| 1 | +--- |
| 2 | +title: Contributing to TUF |
| 3 | +--- |
| 4 | + |
| 5 | +We welcome community contributions to [TUF](https://github.com/theupdateframework), whether they be documentation, a bug fix or a new feature. If you are planning on making more elaborate or potentially controversial changes, please discuss them in the [TUF slack channel](#slack-channel) or on the [mailing list](#mailing-list) before sending a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests). We host public [community meetings](#community-meeting) focused on [TUF](https://github.com/theupdateframework) development and contributions. These meetings are meant for developers and maintainers to meet, get unblocked, pair review, and discuss development aspects of the [TUF](https://github.com/theupdateframework). |
| 6 | +___ |
| 7 | + |
| 8 | +### Contributor Workflow |
| 9 | +First, you should join our communication forums: |
| 10 | +- Join us on the [TUF slack channel](#slack-channel). |
| 11 | +- Join us via the [mailing list](#mailing-list). |
| 12 | +- Join monthly [community meetings](#community-meeting). |
| 13 | + |
| 14 | +Next, get set up with the basics: |
| 15 | +- Take an [overview](./overview.md) |
| 16 | +- [Getting started guide](./security.md) |
| 17 | +- Set up using [Implementations](./implementations.md) |
| 18 | +- Uses of TUF by [videos](./videos.md) or blogs |
| 19 | + |
| 20 | +Check out TUF [repositories](#tuf-repositories) for existing issues or to add one. A contributor can submit [GitHub pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) to the project's [repositories](#tuf-repositories) by following: |
| 21 | + |
| 22 | +- the [CNCF code of conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). |
| 23 | +- the Developer Certificate of Origin ([DCO](#dco)). |
| 24 | +- test locally any new feature or change. |
| 25 | + |
| 26 | +Maintainers will review and give feedback on pull requests. |
| 27 | + |
| 28 | +___ |
| 29 | + |
| 30 | +### Your First Contribution |
| 31 | + |
| 32 | +We recommend that you work on existing issues before attempting to develop a new feature. |
| 33 | + |
| 34 | +Find an existing issue (e.g. one marked [good first issue](https://github.com/theupdateframework/python-tuf/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22), or simply ask an owner for suggestions on [channel](#slack-channel)), and respond on the issue thread expressing interest in working on it. |
| 35 | + |
| 36 | +This helps other people know that the issue is active, and hopefully prevents duplicated efforts. |
| 37 | + |
| 38 | +Each commit must be [signed off](#dco) in git. |
| 39 | + |
| 40 | +#### Areas you can start working on: |
| 41 | + |
| 42 | +- [Documentation](https://github.com/theupdateframework/theupdateframework.io/) can always use improvement. |
| 43 | +- Review open PRs. Add comments, feedback, or give an LGTM! |
| 44 | +- Try out some easy-to-fix bugs which may be marked with the [good first issue](https://github.com/theupdateframework/python-tuf/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) tag. |
| 45 | +- Just ask on the [channel](#slack-channel) for suggestions. |
| 46 | + |
| 47 | +#### If you want to work on a new idea of relatively small scope: |
| 48 | +- Submit an issue describing your proposed change to the [repo](#tuf-repositories) in question. |
| 49 | +- For security issues follow [this](./reporting.md). |
| 50 | +- The repo owners will respond to your issue promptly. |
| 51 | +- If your proposed change is accepted, follow [Development guideline](https://github.com/secure-systems-lab/lab-guidelines/blob/master/dev-workflow.md). |
| 52 | +- Submit a pull request containing a tested change. |
| 53 | + |
| 54 | +___ |
| 55 | + |
| 56 | +### DCO |
| 57 | +Contributors must indicate acceptance of the [Developer Certificate of Origin ](https://developercertificate.org/) by appending a Signed-off-by: Your Name <[email protected]> to each git commit message or use `-s` tag with `git commit`. |
| 58 | + |
| 59 | +____ |
| 60 | + |
| 61 | +### TUF Repositories |
| 62 | + |
| 63 | +- [python-tuf](https://github.com/theupdateframework/python-tuf) |
| 64 | +- [specification](https://github.com/theupdateframework/specification/) |
| 65 | +- [theupdateframework.io](https://github.com/theupdateframework/theupdateframework.io/) |
| 66 | +- [community](https://github.com/theupdateframework/community) |
| 67 | +- [taps](https://github.com/theupdateframework/taps) |
| 68 | +- [tuf-on-ci](https://github.com/theupdateframework/tuf-on-ci) |
| 69 | +- [rust-tuf](https://github.com/theupdateframework/rust-tuf) |
| 70 | +- [go-tuf](https://github.com/theupdateframework/go-tuf) |
| 71 | +- [tuf-js](https://github.com/theupdateframework/tuf-js) |
| 72 | +___ |
| 73 | + |
| 74 | +### Slack channel |
| 75 | +Join us on the [#TUF](https://cloud-native.slack.com/archives/C8NMD3QJ3) channel on [CNCF Slack](https://slack.cncf.io/). |
| 76 | + |
| 77 | +___ |
| 78 | + |
| 79 | +### Mailing list |
| 80 | +Join us via the [mailing list](https://groups.google.com/forum/?fromgroups#!forum/theupdateframework). |
| 81 | +___ |
| 82 | +### Community meeting |
| 83 | +- Time: every fourth Wednesday of the month, at 11am (Eastern Time) |
| 84 | +- Location: meet.google.com/jhk-cvuf-icd |
| 85 | +- Agenda: hackmd.io/jdAk9rmPSpOYUdstbIvbjw |
| 86 | +- Calendar: www.cncf.io/calendar |
| 87 | + |
| 88 | +____ |
| 89 | +### Governance |
| 90 | +Understand our [governance](https://github.com/theupdateframework/specification/blob/master/GOVERNANCE.md). |
0 commit comments