Keyboard shortcuts

Press โ† or โ†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ODP Contributor Track Overview

The Contributor track is designed for individuals who actively contribute to the Open Device Partnership (ODP) ecosystem. Contributors play a vital role in enhancing the ODP framework by developing new features, fixing bugs, and improving documentation. This track is ideal for those who want to deepen their understanding of ODP and make meaningful contributions to its growth and success.

Friendly and Simple

The Open Device Partnership (ODP) repositories are open for public contributions.

  • ๐Ÿ™Œ No permission is required to contribute code, documentation, or report issues.
  • ๐Ÿ“ No contribution is too small -- even a simple typo fix is valuable.
  • ๐Ÿค The ODP community is welcoming and eager to help new contributors get started.

Where to Contribute

There are a large number of repositories under the ODP umbrella, and many of them are open for contributions. You will find a list of repositories that are particularly suitable for contributions in the What's In ODP? section. This includes repositories for code, documentation, and other resources.


Contribution Workflow

Contributions to an ODP repository should start with a fork of the repository into a downstream repository under the contributor's GitHub account. This allows the contributor to make changes without affecting the upstream repository until the changes are ready to be merged. The typical workflow is as follows:

  1. ๐Ÿด Fork the Repository: Create a personal copy of the repository.
  2. ๐Ÿ’ป Clone the Fork: Download your forked repository to your machine.
  3. ๐ŸŒฟ Create a Branch: Create a new branch for your changes to keep changes isolated and organized.
  4. ๐Ÿ”„ Sync with Upstream:Stay up to date with the main project.
  5. โœ๏ธ Make Changes: Code, docs, or other contributions.
  6. ๐Ÿงพ Commit Changes: Use clear, meaningful commit messages.
  7. ๐Ÿš€ Push Changes: Send changes to your GitHub fork.
  8. ๐Ÿ“ฌ Create a Pull Request: Open a pull request (PR) upstream to propose your changes.

Code Guidelines

Please see the ODP Governance Statement for more details on the contribution process and how decisions are made within the ODP community.

Format, style, and linting

In general, all code contributions should include:

  • โœ… Unit Tests: Use cargo tarpaulin to ensure coverage.
  • ๐Ÿ“š Documentation: Update docs, READMEs, or rustdoc as needed.
  • ๐Ÿงน Linting and Formatting: Follow the project's coding style and use tools like cargo fmt and clippy.
  • ๐Ÿ‘€ Code Review: Be ready for review by maintainers.
  • ๐Ÿ” Feedback and Revisions: Collaborate to improve quality.

For more details on the contribution workflow for Patina-related contributions, please also see Patina Developer Documentation.

Documentation Contributions

Accurate and informative documentation is crucial for the success of any open-source project. When contributing to ODP, please ensure that your documentation contributions meet the following standards:

  • ๐Ÿง  Clarity: Avoid jargon, explain things simply.
  • ๐ŸŽฏ Relevance: Match doc to the feature or code behavior.
  • ๐ŸŽจ Consistency: Follow project doc style.
  • ๐Ÿ’ก Examples: Show how things work with real usage.
  • โœ๏ธ Review: Accept and apply constructive feedback.
  • ๐Ÿ”„ Updates:Keep docs aligned with code changes.

Whether you are contributing to this documentation in the Documentation repository or adding/updating rustDoc comments in the codebase, your contributions are valuable. They help ensure that ODP remains accessible and understandable to all users and developers.

Governance

๐Ÿ›๏ธ Governance policies, including Charter, Code of Conduct, Trademark and AntiTrust Policies, and the RFC process for new projects and standards are covered in the Governance document repository.