Skip to content

Contributing to Open-Motion

Open-Motion is built in the open and welcomes contributions from researchers, developers, and clinicians. This page is the developer-facing summary; for the full org-wide policy see the Openwater Contributing Guide.

Code of Conduct

Please read our Code of Conduct before contributing. We believe in a respectful and collaborative environment; the Code of Conduct outlines our expectations for all participants.

Getting started

  1. Fork the repository. Start by forking the relevant Open-Motion repository to your GitHub account. The repo map is in Software Development and Hardware Development.
  2. Set up your environment. Follow the setup instructions in that repo's README.md to get your development environment ready. Most software repos target Python 3.12+; firmware repos build with STM32CubeIDE.

Making contributions

Issues

  • Search first. Before creating a new issue, please check whether the issue already exists to avoid duplicates.
  • Be specific. When creating an issue, provide a clear and detailed description, including steps to reproduce, expected vs. observed behavior, hardware revision, and software/firmware version.

Pull requests

  • Branching. Create a new branch for each feature or fix. Suggested naming: feature/<short-description>, fix/<short-description>, docs/<short-description>.
  • Commit messages. Write clear, concise commit messages with a brief description of the changes.
  • Code standards. Ensure code adheres to the project's coding standards and the best practices guidelines.
  • Testing. Add relevant tests for your changes and ensure all existing tests pass.
  • Documentation. Update documentation to reflect your changes when necessary.
  • Code review. Once you submit a pull request, project maintainers will review your changes. Be responsive to feedback and make necessary adjustments.

Best practices for contributors

  • Stay updated. Regularly sync your fork with the main repository to keep up with the latest changes.
  • Communicate. If you are working on a particular issue, let others know so you do not overlap with their efforts. Use the project's communication channels for discussions.
  • Be respectful. Respect the time and effort of maintainers and fellow contributors.

Recognition of contributions

We value your contributions, and recognition will be given for each contribution. Contributors are acknowledged in the project's documentation and release notes.

Asking for help

If you need help or have questions, reach out through:

The Openwater community

Have a question, found a bug, or want to connect and get involved with the Openwater community? Visit the community page at openwaterhealth.github.io/openwater-community, or join the Discord server to connect with other members, ask for help, and stay updated on project developments.