Many development decisions will be made during the day-to-day work of JanusGraph contributors without any extra process overhead. However, for larger bodies of work and significant updates and additions, the following process shall be followed. Significant work may include, but is not limited to:
- A major new feature or subproject, e.g., a new storage adapter
- Incrementing the version of a core dependency such as a Apache TinkerPop
- Addition or deprecation of a public API
- Internal shared data structure or API change
- Addition of a new major dependency
For these sorts of changes, contributors will:
- Create one or more issues in the GitHub issue tracker
- Start a DISCUSS thread on the janusgraph-dev list where the proposed change may be discussed by committers and other community members
- When the proposer feels it appropriate, a VOTE shall be called
- Two +1 votes are required for the change to be accepted