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:
- ๐ด Fork the Repository: Create a personal copy of the repository.
- ๐ป Clone the Fork: Download your forked repository to your machine.
- ๐ฟ Create a Branch: Create a new branch for your changes to keep changes isolated and organized.
- ๐ Sync with Upstream:Stay up to date with the main project.
- โ๏ธ Make Changes: Code, docs, or other contributions.
- ๐งพ Commit Changes: Use clear, meaningful commit messages.
- ๐ Push Changes: Send changes to your GitHub fork.
- ๐ฌ 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
andclippy
. - ๐ 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.