# Contributing to Pigweed

Pigweed lets anyone contribute to the project, regardless of their employer.
The Pigweed project reviews and encourages well-tested, high-quality
contributions from anyone who wants to contribute to Pigweed.

## Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement (CLA).

To see any Contributor License Agreements on file or to sign a CLA, go to
<https://cla.developers.google.com/>.

For more information about the Google CLA, see
[Contributor License Agreements](https://cla.developers.google.com/about).

## Contributing changes and submitting code reviews

All changes require review, including changes by project members.

For detailed instructions on how to contribute changes,
see [the Gerrit docs](https://gerrit-review.googlesource.com/Documentation/intro-user.html).

## Community guidelines

This project observes the following community guidelines:

  * [Google's Open Source Community Guidelines](https://opensource.google/conduct/)
