How to Contribute

There are multiple ways you can contribute to the Apache AGE and Apache AGE Viewer projects. If you are interested in the project and looking for ways to help, consult the list of projects in the Apache AGE and AGE Viewer GitHubs, or ask on the Apache AGE dev mailing list.

Contributing by Helping Others

A great way to contribute to Apache AGE is to help answering questions from other community members or making helpful comments on the mailing lists, GitHub issues, Apache AGE Discord, or on the Apache AGE Reddit forum (r/apacheage). Taking a few minutes to help answering questions are a valuable open source community service, which also demonstrates your expertise.

We strongly recommend contributors to subscribe the mailing lists, join the Apache AGE Discord and Apache AGE Reddit community (r/apacheage) to keep up to date on what's happening in AGE. Visit joinus for pathways you can follow to help you get started.

Contributing by Reviewing Changes

Changes to AGE source code are proposed, reviewed, and committed via Github pull requests (described in Code Convention). Anyone can view and comment on active changes here. Reviewing others' changes is a good way to learn how the change process works and gain exposure to activity in various parts of the code. You can help by reviewing the changes and asking questions or pointing out issues as simple as typos or small issues of style.

Contributing Documentation Changes

You can propose changes to technical writings such as Apache AGE documentation, edit the Markdown source files for the Apache AGE website pages.

Contributing Bug Reports

Ideally, bug reports are accompanied by a proposed code change to fix the bug. This isn't always possible, as those who discover a bug may not have the experience to fix it. A bug may be reported by creating a GitHub issue but without creating a pull request.

Bug reports are only useful, however, if they include enough information to understand, isolate and ideally reproduce the bug. Simply encountering an error does not mean a bug should be reported; search GitHub and inquire on the Apache AGE's dev mailing list first. Unreproducible bugs, or simple error reports, may be closed.

The more context the reporter can give about a bug, the better, such as: how the bug was introduced, by which commit, etc. It assists the committers in the decision process on how far the bug fix should be backported, when the pull request is merged. The pull request to fix the bug should narrow down the problem to the root cause. Data correctness/data loss bugs are very serious. Make sure the corresponding bug report GitHub issue is labeled as correctness or data-loss. Please send an email to dev@age.apache.org after submitting the bug report, to quickly draw attention to the issue. Performance issues are classified as bugs. The pull request to fix a performance bug must provide a benchmark to prove the problem is indeed fixed.