Skip to content

Latest commit

 

History

History
163 lines (116 loc) · 9.11 KB

CONTRIBUTING.md

File metadata and controls

163 lines (116 loc) · 9.11 KB

Contributing to OpenVINO

How to contribute to the OpenVINO project

OpenVINO™ is always looking for opportunities to improve and your contributions play a big role in this process. There are several ways you can make the product better.

Table of Contents

  1. Forms of contribution
  2. Technical guide

Forms of contribution

Provide Feedback

  • Report bugs / issues If you experience faulty behavior in OpenVINO or its components, you can create a new issue in the GitHub issue tracker.

  • Propose new features / improvements If you have a suggestion for improving OpenVINO or want to share your ideas, you can open a new GitHub Discussion. If your idea is already well defined, you can also create a Feature Request Issue In both cases, provide a detailed description, including use cases, benefits, and potential challenges. If your points are especially well aligned with the product vision, they will be included in the development roadmap. User feedback is crucial for OpenVINO development and even if your input is not immediately prioritized, it may be used at a later time or undertaken by the community, regardless of the official roadmap.

Contribute Code Changes

  • Fix Bugs or Develop New Features If you want to help improving OpenVINO, choose one of the issues reported in GitHub Issue Tracker and create a Pull Request addressing it. If you want to start with something simple, check out the first-time contributions section. If the feature you want to develop is more complex or not well defined by the reporter, it is always a good idea to discuss it with OpenVINO developers first. Before creating a new PR, check if nobody is already working on it. In such a case, you may still help, having aligned with the other developer.

    Importantly, always check if the change hasn't been implemented before you start working on it! You can build OpenVINO using the latest master branch and make sure that it still needs your changes. Also, do not address issues that only affect older non-LTS releases, like 2022.2.

  • Develop a New Device Plugin Since the market of computing devices is constantly evolving, OpenVINO is always open to extending its support for new hardware. If you want to run inference on a device that is currently not supported, you can see how to develop a new plugin for it in the Plugin Developer Guide.

Improve documentation

  • OpenVINO developer documentation is contained entirely in this repository, under the ./docs/dev folder.

  • User documentation is built from several sources and published at docs.openvino.ai, which is the recommended place for reading these documents. Use the files maintained in this repository only for editing purposes.

  • The easiest way to help with documentation is to review it and provide feedback on the existing articles. Whether you notice a mistake, see the possibility of improving the text, or think more information should be added, you can reach out to any of the documentation contributors to discuss the potential changes.

    You can also create a Pull Request directly, following the editor's guide.

Promote and Support OpenVINO

  • Popularize OpenVINO Articles, tutorials, blog posts, demos, videos, and any other involvement in the OpenVINO community is always a welcome contribution. If you discuss or present OpenVINO on various social platforms, you are raising awareness of the product among A.I. enthusiasts and enabling other people to discover the toolkit. Feel free to reach out to OpenVINO developers if you need help with making such community-based content.

  • Help Other Community Members If you are an experienced OpenVINO user and want to help, you can always share your expertise with the community. Check GitHub Discussions and Issues to see if you can help someone.

Technical guide

This section lists all the necessary steps required to set up your environment, build OpenVINO locally, and run tests for specific components. It's a perfect place to start when you have just picked a Good First Issue and are wondering how to start working on it.

Keep in mind that we are here to help - do not hesitate to ask the development team if something is not clear. Such questions allow us to keep improving our documentation.

1. Prerequisites

You can start with the following links:

2. Building the project

In order to build the project, follow the build instructions for your specific OS.

3. Familiarize yourself with the component you'll be working with

Choose the component your Good First Issue is related to. You can run tests to make sure it works correctly.

APIs
Frontends
Plugins
Tools
Others

3. Start working on your Good First Issue

To start contributing, pick a task from the Good First Issues board.

To be assigned to an issue, simply leave a comment with the .take command in the selected issue. Use the issue description and build OpenVINO locally to complete the task.

You can always ask users tagged in the "Contact points" section for help! Visit Intel DevHub Discord server and ask questions in the channel dedicated to Good First Issue support.

4. Submit a PR with your changes

Follow our Good Pull Request guidelines. Please remember about linking your Pull Request to the issue it addresses.

5. Wait for a review

We'll make sure to review your Pull Request as soon as possible and provide you with our feedback. You can expect a merge once your changes are validated with automatic tests and approved by maintainers.

License

By contributing to the OpenVINO project, you agree that your contributions will be licensed under the terms stated in the LICENSE file.