google-deepmind / google-deepmind/open_spiel
Please Read Before Submitting a Pull Request
- Dominant language
- C++
- Stars
- 5.5k
- Forks
- 1.2k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 4
Description
Dear potential contributors,
Thank you for your interest in OpenSpiel! OpenSpiel has had the benefit of growing organically over the years due to a lot of great engagement with the community, and we're always happy to have more features, games, algorithms, bug fixes, and other improvements.
To ensure that everyone benefits from the contributions, please do the following before submitting a Pull Request:
1. **Avoid duplicating work.** Check to see that there is not already a PR in the [Pull Requests queue](https://github.com/google-deepmind/open_spiel/pulls) achieving what your pull request would.
2. **Please talk to us before any large PRs.** There are some issues that are less important than others, and some types of contributions we may prefer to have some discussion about before you do any work. So, please check with us first. This could take the form of replying to an existing issue or opening a new issue.
3. **Commercial/Copyrighted Games**. If you are thinking of contributing a new game that is distributed by a commercial publisher (i.e. not a game you made up nor part of the public domain), please contact us first. We will not necessarily refuse it, but will need to consult our legal team first.
5. **Please read the guidelines.** Please read over the [Developer Guide](https://github.com/google-deepmind/open_spiel/blob/master/docs/developer_guide.md) before submitting any code.
6. **Don't pre-empt someone else's intended contribution.** Over the past year, we have been seeing the following behavior: person A opens an issue to ask whether some contribution would be welcome, possibly discusses how it could be done, but with a very clear intention to contribute it themself. Person B comes out of nowhere and submits a PR to implement the thing person A described before person A was able to submit their PR. Please don't be Person B in this scenario: we won't import those PRs.
_If you are unsure about any of the above, please ask before assuming, thanks!_
Ok, so once those are all taken into account, what happens after you've submitted a PR?
- The GitHub Action CI tests will get triggered. Please take a look to ensure that your code passes all the tests. If the tests don't pass, please make changes until they do.
- Someone will take a look at your code, likely ask you to make a few changes.
- Once the code passes all the tests, and is clear to be imported and merged by OpenSpiel maintainers, it will get almost certaily be merged.
Please note that these steps can take a few weeks, even for a small PR, depending on how busy the maintainers currently are with their primary work responsibilities. Rest assured, though: if your code is cleared for import, it will quite likely be imported and merged into the master branch.. but this may take some time and may depend on the importance of the contribution (e.g. critical fixes will be prioritized).
Thanks so much for your interest in OpenSpiel and we look forward to your contributions!
Contributor guide
Research direction
Start by reading docs/developer_guide.md and compare it with the contribution guidance in this issue. The issue does not identify a requested documentation change or a specific file to edit, so clarify the intended update and its completion criteria before making changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100