# Contributing to Vanadium

Vanadium is an open source project.

It is the work of many contributors. We appreciate your help!


## Filing issues

We use a single GitHub repository for
[tracking all issues](https://github.com/vanadium/issues/issues)
across all Vanadium repositories.


## Contributing code

Please read the
[Contribution Guidelines](https://github.com/vanadium/docs/blob/master/community/contributing.md)
before sending patches.

**We do not accept GitHub pull requests**
(we use [Gerrit](https://www.gerritcodereview.com/) instead for code review).

Unless otherwise noted, the Vanadium source files are distributed under
the BSD-style license found in the LICENSE file.
