At Neo4j, we develop our software in the open at GitHub. This provides transparency for you, our users, and allows you to fork the software to make your own additions and enhancements. We also provide areas specifically for community contributions, in particular the neo4j-contrib space.
There's an active Neo4j Online Community where we work directly with the community. If you're not already a member, sign up!
Where you raise an issue depends largely on the nature of the problem.
Firstly, if you are an Enterprise customer, you might want to head over to our Customer Support Portal.
There are plenty of public channels available too, though. If you simply want to get started or have a question on how to use a particular feature, ask a question in Neo4j Online Community.
If you want to report a bug or request a new feature, please raise an issue and you will be asked to provide us with the relevant information. Please check first though as someone else may have already raised something similar.
If you want to contribute a pull request, we have a little bit of process you'll need to follow:
- Do all your work in a personal fork of the original repository
- Create a branch (with a useful name) for your contribution
- Make sure you're familiar with the appropriate coding style (this varies by language so ask if you're in doubt)
- Include tests if appropriate (obviously not necessary for documentation changes)
- Take a moment to read and sign our CLA
- Include a detailed PR description answering the; what, why, and how of your contribution
We can't guarantee that we'll accept pull requests and may ask you to make some changes before they go in. Occasionally, we might also have logistical, commercial, or legal reasons why we can't accept your work but we'll try to find an alternative way for you to contribute in that case.
We have a short development guide to walk you through the basics of development on this project.
If you have an idea for a new tool or library, start by talking to other people in the community. Chances are that someone has a similar idea or may have already started working on it. The best software comes from getting like minds together to solve a problem. And we'll do our best to help you promote and co-ordinate your Neo ecosystem projects.
If you want to find out more about how you can contribute, head over to our website for more information.