Contributing

_images/contributing.png

ROS Sports is community-maintained, where most maintainers are volunteers. Please respect the maintainers who dedicate their time to improving robotics.

If you share the same Vision as ROS Sports and would like to contribute to ROS Sports, here are some guidelines!

Follow the ROS Contributing Guide

We don’t like reinventing the wheel! The ROS community has established a well-defined Contributing Guide that you should follow when contributing.

Pull Requests / Issues

Github PRs and Issues are the primary way to contact maintainers about bugs, feature requests and contributions.

Tip

When creating an issue, please consider proposing a fix to reduce load on maintainers, and even better, creating a PR with a fix.

Contributing to Documentation

Adding and fixing existing documentation is a great way to contribute to ROS Sports. If you decide to modify documentation, please raise a PR against the project’s documentation repository.

If you have created learning aids, such as a blog post or a video tutorial, we would love to add links to it! Please raise an issue against the relating project with a link.

Hosting a project on ROS Sports

If you would like an existing project to be hosted on ROS Sports, please contact the organization owner with a link to your repository for it to be discussed.

Transferring a repository to ROS Sports does not transfer maintenance responsibility. A maintainer team will be created for the new project, which you will be added to as the primary maintainer.

Note

If a project does not align with the organization’s vision, we will not host the project.

If you have an idea for a project but have not implemented it yet, consider developing it in your Github account, before requesting to be hosted by ROS Sports.

Warning

Stale repositories with lack of maintenance will be removed from the organization with notice.

Maintainer Guide

Maintainer Teams

Projects and corresponding documentation are maintained by ROS Sports maintainer teams. If you have made major contributions to a project, existing maintainers may reach out to you to request becoming a maintainer.

Writing Documentation

At ROS Sports, we encourage descriptive user documentation. User documentation should include installation instructions, a description of the package, and examples of how to use the package. Videos, diagrams and figures are encouraged.

ROS Sports doesn’t have a strict guideline on how to write documentation, but for existing projects:

  • README.md is used for small libraries that don’t require much documentation. Your documentation will be part of your codebase repository.

  • ReadTheDocs is used if your library plans on having more than one page of documentation. Your documentation will be maintained in a separate repository from your codebase. If you plan on including images and figures, this is the recommended method to prevent your codebase repository blowing up in size.

Tip

If you plan on having multiple pages or including images/figures in your documentation, keep your documentation separate from your codebase.

Switching from README.md to ReadTheDocs isn’t straight forward since they use different languages (Markdown vs reStructuredText).

Writing Tests

You should write tests to verify behaviour of your code. For bug fixes, write a test that breaks the existing code, and submit a fix in the same PR.

Releasing into ROS ecosystem

All projects hosted by ROS Sports have a goal of being released into the ROS ecosystem.