
**Thank you for your interest in contributing to DAVx⁵! ❤️**


# Overview

## Before you start

> [!IMPORTANT]
> **Please comment in an [issue](https://github.com/bitfireAT/davx5-ose/issues) (ideally an
> existing one) or a [discussion](https://github.com/bitfireAT/davx5-ose/discussions) and
> wait for feedback before making changes that you want to be merged.**

The core team maintains an active roadmap and long-term plan for DAVx⁵.
We truly value every contribution — and precisely *because* of that, we want to ensure
your effort can be merged. An uncoordinated pull request may conflict with ongoing
work, planned refactors, or design decisions, which could waste your effort (though you can still use it in your fork).

By discussing your idea first, we can ensure alignment with the project's direction, agree on the approach (especially for architectural or UI changes), and avoid duplication or conflicts.

**Small, obvious bug-fixes** are generally fine to submit directly.
For everything else — new features, UI changes, non-trivial refactors — please comment
an existing/new issue or discussion and wait for a green light before investing significant time.

## Preferred flow of a change

1. **Discussion**: Start or join a discussion or issue to propose your idea.
2. **Acknowledgment**: Wait for the core team to acknowledge the issue or discussion.
3. **Common understanding**: Reach a common understanding of the approach with the core team.
4. **Pull request**: Create your PR on Github.
5. **Self-review**: Review your own changes and ensure they meet the project's standards.
Use tools like GitHub Copilot for additional review (if applicable).
7. **Team review**: A core team member will review your PR.
8. **Merge**: Once approved, your contribution will be merged.
9. If all goes well, your contribution will be shipped with the next release. 🚀


# License and copyright

All work in this repository is [licensed under the GPLv3](LICENSE).

We (bitfire.at, initial and main contributors) are also asking you to give us
permission to use your contribution for related non-open source projects
like [Managed DAVx⁵](https://www.davx5.com/organizations/managed-davx5).

If you send us a pull request, our CLA bot will ask you to sign the
Contributor's License Agreement so that we can use your contribution.

Please make sure that **every file that contains significant work (at least every code file)
starts with the copyright header** (see existing files). Android Studio should do so
automatically because the configuration is stored in the repository (`.idea/copyright`).


# Style guide

Please adhere to the [Kotlin style guide](https://developer.android.com/kotlin/style-guide) and
the project style to make the source code uniform.

> [!TIP]
> Have a look at the other code files and copy their style.

