You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2019/10/16 12:43:08 UTC

[james-project] 02/02: JAMES-2909 Use Architecture Decision Record

This is an automated email from the ASF dual-hosted git repository.

rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit e6cf0120435828c768eaaa45dd1aa313d8153491
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Wed Oct 2 11:17:36 2019 +0200

    JAMES-2909 Use Architecture Decision Record
---
 .adr-dir                                      |  1 +
 README.adoc                                   |  4 +++
 src/adr/0001-record-architecture-decisions.md | 38 +++++++++++++++++++++++++++
 3 files changed, 43 insertions(+)

diff --git a/.adr-dir b/.adr-dir
new file mode 100644
index 0000000..bbdb643
--- /dev/null
+++ b/.adr-dir
@@ -0,0 +1 @@
+src/adr
diff --git a/README.adoc b/README.adoc
index 2bc2c8c..e415774 100644
--- a/README.adoc
+++ b/README.adoc
@@ -55,6 +55,7 @@ There is many other ways one can help us: packaging, communication, etc ...
  ** https://github.com/apache/james-project/#how-to-retrieve-users-and-password-from-my-previous-container[How to retrieve users and password from my previous container?]
  ** https://github.com/apache/james-project/#how-to-run-deployment-tests[How to run deployment Tests]
  * https://github.com/apache/james-project/#generating-a-package-for-james[Generating a package for James]
+ * https://github.com/apache/james-project/#know-more-about-james[Know more about James]
 
 == How to try James
 
@@ -563,3 +564,6 @@ Once installed, try:
 
 By default James is configured without LDAP support.
 
+= Know more about James
+
+James comes with a https://james.apache.org/documentation.html[Documentation] and https://github.com/linagora/james-project/tree/master/src/adr[Architectural Decision Records].
diff --git a/src/adr/0001-record-architecture-decisions.md b/src/adr/0001-record-architecture-decisions.md
new file mode 100644
index 0000000..fa8e0c1
--- /dev/null
+++ b/src/adr/0001-record-architecture-decisions.md
@@ -0,0 +1,38 @@
+# 1. [JAMES-2909] Record architecture decisions
+
+Date: 2019-10-02
+
+## Status
+
+Proposed
+
+## Context
+
+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.
+
+## Decision
+
+We will use Architecture Decision Records, as [described by Michael Nygard](https://web.archive.org/web/20190824074401/http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions).
+
+Each ADR will be discussed on the Apache James' developers mailing-list before being accepted.
+
+Following [Apache Decision Making process](https://community.apache.org/committers/decisionMaking.html), 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.
+
+
+## Consequences
+
+See Michael Nygard's article, linked above. For a lightweight ADR toolset, see Nat Pryce's [adr-tools](https://github.com/npryce/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.
+
+## References
+
+ * [JAMES-2909](https://jira.apache.org/jira/browse/JAMES-2909)


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org