Date: 2019-10-02
Proposed
In order to be more community-oriented, we should adopt a process to have a structured way to have open architectural decisions.
Using an Architectural Decision Records-based process as a support of discussion on the developers mailing-lists.
We will use Architecture Decision Records, as described by Michael Nygard.
Each ADR will be discussed on the Apache James' developers mailing-list before being accepted.
Following Apache Decision Making process, we provide the following possible status, with their associated meaning:
Proposed
: The decision is being discussed on the mailing list.Accepted (lazy consensus)
: the architecture decision was proposed on the mailing list, and a consensus emerged from people involved in the discussion on the mailing list.Accepted (voted)
: the architecture undergo a voting process.Rejected
: Consensus built up against that proposal.See Michael Nygard‘s article, linked above. For a lightweight ADR toolset, see Nat Pryce’s adr-tools.
We should provide in a mutable References
section links to related JIRA meta-ticket (not necessarily to all related sub-tickets) as well as a link to the mail archive discussion thread.
JIRA tickets implementing that architecture decision should also link the related Architecture Decision Record.