# Contributing To Syphon

When contributing to this repository, first read and agree with the contents of this document fully before beginning to produce any material work for Syphon.

We have a code of conduct, please follow it in all your interactions with the project.

## 1. [Code of Conduct](./docs/code-of-conduct.md)

Syphon has a [Code of Conduct](./docs/code-of-conduct.md) to which all contributors must adhere. 
Please first read through the [Standards](./docs/code-of-conduct.md#standards) section before continuing through this document.

## 2. Join the Syphon Chat or Contact Us

Join the Syphon General chat on Matrix and let us know you'd like to start contributing to the project!

[Syphon Chat - General](https://matrix.to/#/#syphon:matrix.org)

We'll invite you to the dev room and chat about how you'd like to get started! This way we can coordinate tasks together so no one duplicates work.

If you'd prefer to reach out through email, you can always reach us at hello@syphon.org

Alternatively, you can message the creator of Syphon at (https://matrix.to/#/@ereio:matrix.org) and they will help you get started.

## 3. Build Syphon

If you're writing code, make sure to fully read the [Building](./readme.md#Building) section of the readme and confirm you can build Syphon on your platform of choice. If you're having trouble, it's worth taking a look at our [CI pipeline scripts](./drone.yml) for instructions on building per platform.

## 4. Writing Code

If you've taken on a task with a corresponding Github issue in the repo, make sure to open a [Draft Pull Request](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests) in github so we can track your work on the project from start to finish. We'll also assign issues and tags to the Draft PR so other devs and interested users will know that feature is being developed

## 5. Ready Pull Request

When your PR is ready, switch the PR from a `Draft` to `Ready for Review`. Maintainers will be notified and will review the project, leaving comments for necesssary changes or approval. Once approved, you can merge the PR at your lesiure or if the option is not available, we'll merge your PR shortly after approval.

# Contributor License Agreement
All contributions to this project are considered to be licensed under the [GNU Affero General Public License version 3](https://www.gnu.org/licenses/agpl-3.0.en.html) (AGPLv3).

Syphon doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. We recommend every contributor who wishes to do so adds their name to the [authors](./authors.md) file.