Optax welcomes contributions from the open source community. This can include issues, bug reports, questions, design documents, pull requests, or any other input to the project.
For most contributions, the best way to get started is to raise an issue in the Github issue tracker describing the problem to be solved, or the idea to be worked on. This will enable some discussion on the best way to land new features, and can also provide opportunities for collaborations with other contributors.
Some more details on contributing code are provided in the CONTRIBUTING.md file in the source tree.
For more complex or involved features, we recommend starting out by writing a design document, or RFC ("Request For Comments") before spending significant time writing code. This can provide an opportunity for other contributors to provide input and find the best way to land new features, and also provides a reference for future users to understand how the library works. For an example of this, please see the following [RFC] Proposal for complex-valued optimization in Optax, which lead to the addition of improved complex support in Optax.
Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.
If you would like to get started with contributing to Optax, but do not know what to start working on, a selection of "good first issues" for new contributors are given in the issue tracker. Ideas for good starter contributions are also welcomed.
We'd also like to extend a special thanks to the following open source contributors who have made significant contributions to Optax,
A full list of open source contributors can be found here.
This project follows Google's Open Source Community Guidelines.