Contributing
Like many other open source projects, contributions from the community are an essential piece in making OpenML successful. We very much appreciate that you want to make a contribution. To try to make this as smooth as possible for everyone involved, we wrote this contribution guide. There are many kinds of contributions, such as bug reports, participating in discussions, making code contributions, or updating documentation.
Bug reports
When you encounter an issue using or deploying the Python-based REST API, the first step
is to search our issue tracker to see if others
have already reported the issue. If this is the case, please indicate that you encountered
the issue by leaving a
on the issue. Feel free to leave a comment if you have
additional information that may be useful to track down or fix the bug.
If the bug has not been reported before, please open a new issue to report it. When you open a bug report, please include:
- a minimal reproducible example,
- a description of the expected behavior,
- a description of the encountered behavior,
- and any additional information that you think may be relevant, such as which environment you encountered it in, or when you first encountered the bug.
Documentation
For minor fixes such as correcting a typo or a broken link, it's fine to make the changes and submit them through a pull request. For larger changes, please make sure you are assigned to an issue first as is described in the "Code" section of this page. Then, visit the "Developer Documentation" page to learn how to contribute documentation changes.
Code
If you want to make code contributions, please first make sure there is an open issue that describes what the contribution should look like. This may be a proposal that you write yourself, or an existing open issue that you want to help us with. Please indicate on that issue that you would like to contribute to it. This way, we can ensure that everything is clear, it's not out of date, and "officially" assign you to the issue so that others know its being worked on. Making sure there is a clear description and clear assignment helps prevent a situation where someone makes a large contribution that is unwanted, or is simultaneously developed by someone else. With an issue assigned, please head over to the "Setting up the development environment" section.
Help Wanted?
We learned that working with community contributions during the development of the first feature-complete release of the REST API is complicated. While we are entirely grateful that so many people take an interest and want to help, the majority of the work is figuring out what the desired behavior and interface of the REST API should be. Making these decisions requires a lot of context about the OpenML platform, ecosystem, and its history. For this reason, we restrict community code contributions in this project to issues that are marked "Good First Issue" or "Help Wanted" for now.
Other
If you are looking to contribute to OpenML in general, visit "Contributing" on the OpenML website.