Welcome! This guide will help you get started contributing to Apache Gravitino, whether you're filing an issue, improving documentation, or submitting code.
Gravitino welcomes all kinds of contributionsβincluding code (Java, Python), documentation, testing, design, and feedback. Your involvement helps strengthen the project.
Apache Gravitino is a metadata and data lake federation layer for AI and analytics. It graduated from the Apache Software Foundation's Incubator in June 2025 and is now a top level project maintained by a growing community.
Gravitino follows ASF-wide contribution and governance practices. Project-specific workflows are explained where they differ.
Please review the following guidelines for a smooth contribution process.
Apache Gravitino is a Top-Level Project of the ASF.
Gravitino is a collaborative project. We encourage open communication and transparent decision-making. You can:
dev@gravitino.apache.orgPlease follow the ASF Code of Conduct in all interactions.
We are committed to fostering a welcoming and inclusive community. Please review and adhere to our Code of Conduct in all project spaces.
Gravitino uses Apacheβs consensus-based decision-making. Most decisions happen on the dev@ mailing list or via GitHub PR discussions.
Contributors who participate actively and constructively may be invited to become committers or join the PMC. Merit is earned through consistent contributions and community engagement.
All PRs are automatically tested using GitHub Actions. Please check test results and fix failures before requesting a review.
If you‘re stuck, ask on the dev@ mailing list or open a GitHub Discussion. We’re here to help.
Click the “Fork” button on GitHub or use:
git clone https://github.com/apache/gravitino.git cd gravitino
Check out the ASF New Contributor Guide for an overview of how ASF projects work.
We welcome all types of contributions:
Look for good first issues to get started. Discuss plans on GitHub or the dev@ mailing list. Small pull requests are easiest to review.
Design and documentation are essential to Gravitinoβs usability and growth.
You can contribute by:
docs/Reviewing and triaging helps maintain the project. You can:
Fixes #123)Follow how to build or use Apache DockerHub. Start Gravitino with:
bin/gravitino.sh start bin/gravitino.sh stop
You can also build manually with:
./mvnw clean install
Import Gravitino into IntelliJ IDEA or Eclipse as a Gradle project.
If using WSL on Windows, install Java and dev tools inside WSL. Access files via /mnt/c/... paths.
Gravitino uses Maven profiles for Scala:
-Pscala-2.12 for Scala 2.12-Pscala-2.13 for Scala 2.13 (default)Gravitino supports JDK 17.
We use Spotless for code formatting. Run:
./gradlew spotlessApply
Key directories in the Gravitino repo:
api/, clients/, core/, server/ β Main componentsdocs/, rfc/ β Documentation and designconf/, bin/ β Configs and scriptscatalogs/, spark-connector/, trino-connector/ β IntegrationsAdd or update tests in your PR. Test open PRs locally to help maintainers.
Before contributing:
Contributions are under the Apache License 2.0.
If contributing on behalf of an employer or regularly, you may need to submit an ICLA. See ASF Contributor FAQs.
Official repo: https://github.com/apache/gravitino
To report a vulnerability, follow the SECURITY.md instructions. Responsible disclosure is appreciated and handled per ASF guidelines.
Contributors are recognized in release notes. All types of contributions are valued.
See the full list of contributors on GitHub: https://github.com/apache/gravitino/graphs/contributors