The Neo4j community is a free software and open source community centered around software and components for the Neo4j Graph Database. It is sponsored by Neo Technology, which provides infrastructure (different kinds of hosting, documentation, etc) as well as people to manage it. The Neo4j community is an open community, in so far as it welcomes any member that accepts the basic criterias of contribution and adheres to the community’s Code of Conduct.
Contribution can be in many forms (documentation, discussions, bug reports). This document outlines the rules of governance for a contributor of code.
One crucial aspect of contributing is the Contributor License Agreement. In short: make sure to sign the CLA, or the Neo4j project won’t be able to accept your contribution.
In a nutshell, you need to be aware of the following fundamentals if you wish to contribute code:
Every individual that contributes code does so in the context of a role (a single individual can have multiple roles). The role defines their responsibilities and privileges:
A component maintainer is in charge of a specific component. They can:
A Neo4j admin manages the Neo4j infrastructure. They:
The Neo4j Code style is maintained on GitHub in styles for the different IDEs.
You have a much higher chance of getting your changes accepted if you supply us with small, readable unit tests that test the code you’ve written. Also, make sure your code doesn’t break any existing tests. See the advice on building below. Note that there may be downstream components that need to be tested as well, depending on what you change.
mvn clean verify
).
Running tests from your IDE isn’t repeatable enough, even if you run all of the tests in the project.
Please take some care in providing good commit messages. Use your common sense. In particular:
If you fix a bug or an issue that’s related to a ticket, then refer to the ticket in the message. For example, `‘Added this and then changed that. This fixes #14.’' Just mentioning #xxx in the commit will connect it to the GitHub issue with that number, see GitHub issues. Any of these synonyms will also work:
git diff
is for.
Copyright © 2012 Neo Technology