Contributing

This document https://github.com/fluxcd/community/blob/main/CONTRIBUTING.md defines the contribution process for the Flux project and community. These guidelines apply to all git repositories in the fluxcd GitHub org, however each repository may specify additional contribution processes.

Welcome

We gratefully welcome all kinds of contributions, including code, issues, documentation, external tools, advocacy and community work. All members of the Flux community, including contributors, are expected to uphold the Flux community Values and Code of Conduct.

Communication

As a contributor we want to invite you to join the discussions in a variety of forums laid out in https://github.com/fluxcd/community/blob/main/README.md#communication. All contributions – code or non-code – should follow the steps outlined in the Proposal Process.

Semantic Versioning

The Flux project and community git repositories maintain a strong commitment to clear communication about backwards compatibility. For this reason, all code contributions must follow the Semantic Versioning 2.0.0 Specification (SemVer) per https://semver.org/, so that users can trust compatibility based on version scheme.

Certificate of Origin

Developer Certificate of Origin (DCO) commit signoff is required for all new code contributions. This is automatically checked by the Probot: DCO integration across all fluxcd GitHub org repositories.

Commit signoff is a simple statement that you, as a contributor, have the legal right to make the contribution. See git help commit:

The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin (see http://developercertificate.org/ for more information).

CLI

When signing commits with git commit -s, signoff is drawn automatically from your user.name and user.email git configs. If you choose to manually add a signoff line to your commit message, it must be properly formatted and match your commit information. For example, when using the GitHub private email option you must set your git config email accordingly. For those who wish to ensure this is always done in your CLI, consider implementing something like this gist.

Browser

For contributions made with the GitHub UI β€” including applying suggested changes β€” the scottrigby/dco-gh-ui browser extension is recommended. This pre-fills GitHub’s commit textareas with a properly formatted signoff from your configured name and email. Otherwise, you will need to be sure to do so manually.

Thank You

Contributors are crucial to ensuring the Flux project continues to fairly represent community interests. Thank you for all that you do.