Contributing
January 14, 2021 ยท View on GitHub
Thank you for your interest in contributing to Webots! The following is a set of guidelines for helping you to contribute to Webots.
Required skills
You don't need to be an expert in robotics or software development to become a contributor. Depending on your skills, your contribution may address different parts of the Webots software:
- Bug reporting: A precise description of a reproducible bug is very helpful to us.
- Technical English writing: documentation pages.
- Foreign language: translate the user interface in your own language.
- Python programming: sample simulations, libraries, tools such as urdf2webots, etc.
- C/C++ programming: webots source code, sample simulations, libraries, tools, etc.
- 3D modeling: contribute models of objects, devices or robots.
In any case, you should have a minimal knowledge of GitHub to fork our repository and create a Pull Request that we will review and hopefully accept.
For C/C++ contributions is strongly recommended that you install the Webots development environment as explained below.
If your contribution is external to Webots, e.g., a sample simulation, a PROTO model, a controller library, etc., you may be interested to contribute it to the community projects repository.
Need ideas to contribute?
Unless you have a good idea to implement, you can browse the beginner issues and select a feature or bug fix that should be fairly easy to implement. Once you will become an experienced Webots developer, you will be able to address more complex issues.
Install the development environment
- Follow the installation instructions in our wiki.
Create a Pull Request
- Fork the repository: https://help.github.com/articles/fork-a-repo
- Create a branch in your fork: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository
- Pull the branch as a pull request targeting
cyberbotics:webots@master: https://help.github.com/articles/creating-a-pull-request-from-a-fork - Wait for our unit tests and review of your pull request.
Our git workflow is explained in detail here.
Development Guideline
- Follow our Coding Style.
- Avoid comitting files that exist elsewhere. Instead you should link to the source of these files.
- Avoid comitting files that can be re-created from other files using a Makefile, a script or a compiler.
Step-by-Step Guides
Several step-by-step guides are available on the wiki: