There are many ways to contribute to Apache Arrow:
- Contributing code (we call them "patches")
- Writing documentation (another form of code, in a way)
- Participating in discussions on GitHub issues or the mailing list
- Helping users of the libraries
We use GitHub issues for questions, maintaining a queue of development work, and as the public record for work on the project. Feel free to open issues for discussions, bugs, and feature requests. Questions may also be asked on the user mailing list user@arrow.apache.org.
We prefer to receive contributions in the form of GitHub pull requests. Please send pull requests against the github.com/apache/arrow repository following the procedure below.
If you are looking for some ideas on what to contribute, check out the GitHub issues for the Apache Arrow project. Comment on the issue and/or contact dev@arrow.apache.org with your questions and ideas.
If you’d like to report a bug but don’t have time to fix it, you can still create a GitHub issue, or email the mailing list dev@arrow.apache.org
To contribute a patch:
- Break your work into small, single-purpose patches if possible. It’s much harder to merge in a large change with a lot of disjoint features.
- If one doesn't already exist, create a GitHub issue for your patch on the Arrow Project GitHub.
- Submit the patch as a GitHub pull request against the main branch. For a tutorial, see the GitHub guides on forking a repo and sending a pull request. Prefix your pull request name with the GitHub issue id (ex: GH-767: [C++] Filesystem abstraction)
- Make sure that your code passes the unit tests. You can find instructions how to run the unit tests for each Arrow component in its respective README file.
- Add new unit tests for your code.
Thank you in advance for your contributions!