Contribution Process#

This section documents how to contribute your changes to the OpenDP Library.

Contributor License Agreement#

In anticipation of making a contribution, please be aware that the OpenDP Project requires contributors to sign a Contributor License Agreement. We use a bot for automated verification of license status, so your first OpenDP pull request will be tagged with instructions for completing the agreement. If you’d like to get a head start, you can view our Contributor License Agreement documentation.

Creating a Pull Request#

A pull request is a request to have your changes “pulled” into the OpenDP codebase.

The branch naming convention is the issue number followed by a short description, such as 123-typo-in-readme. Once you have opened your Pull Request, it will appear in the list of open PRs. Please check back later for feedback!

Vetting Process#

A contribution can be reviewed and merged, with contrib flags set, without completing the vetting process. contrib components are disabled by default, but an end-user can choose to opt-in.

On the OpenDP side, the vetting process to remove the contrib flag goes as follows:

  1. Reviewers are assigned.

  2. Reviewer confirms the privacy claims of the proof.

  3. Reviewer validates the pseudo-code against the proof.

  4. Reviewer validates the code against the pseudo-code.

Please be patient— this process may take several iterations as issues come up in the review process.

Merge#

Once the review process is successful, your PR will be merged into the main branch. Your contribution and credit will be added to the release notes, and your changes will appear on crates.io and PyPi on our next library release.