Merge branch 'stable-3.1'

* stable-3.1:
  ConfigSuite: fix example for setting config in test
  Documentation: Fix dev-contributing Q&A list items
  Documentation: Fix dev-contributing trail line wrap
  Document how the ESC evaluates design docs
  Clarify that non-maintainers can candidate as community manager

Change-Id: Idde5c95c1a1878d12aa35ff838f80912dc9da9a7
This commit is contained in:
David Pursehouse
2020-04-10 16:13:40 +09:00
2 changed files with 98 additions and 1 deletions

View File

@@ -267,34 +267,42 @@ meetings.
=== Evaluation
Product/Vision fit
Q: `Do we believe this feature belongs to Gerrit Code Review use-cases?`
* Yes: Customizable dashboards
* No: UI for managing an LDAP server
Q: `Is the proposed solution aligned with Gerrits vision?`
* Yes: Showing comments of older patch sets in newer patch sets to
keep track (core code review)
* No: Implement a bug tracker in Gerrit (not core code review).
=== Impact
Q: `Will the new feature have a measurable, positive impact?`
* Yes: Increased productivity, faster/smoother workflow, etc.
* Yes: Better latency, more reliable system.
* No: Unclear impact or lacking metrics to measure.
=== Complexity
Q: `Can we support/maintain this feature once it is in Gerrit?`
* Yes: Code will fit into codebase, be well tested, easy to
understand.
* No: Will add code or a workflow that is hard to understand
and easy to misinterpret.
Q: `Is the proposed feature or rework adding unnecessary complexity?`
* Yes: Adding a dependency on a well-supported library.
* No: Adding a dependency on a library that is not widely used
or not actively maintained.
=== Core vs. Plugin decision
Q: `Would this fit better in a plugin?`
* Yes:The proposed feature or rework is an implementation (e.g. Lucene
is an index implementation) of a generic concept that others
might want to implement differently.
@@ -307,6 +315,7 @@ Q: `Would this fit better in a plugin?`
Q: `Is someone willing to implement it?` (this question is
especially important when reviewers propose alternative designs
to the authors own solution).
* Yes: The author or someone else commits to implementing the
proposed solution.
* Yes: If a mentorship is required, a mentor is willing to help.
@@ -315,8 +324,94 @@ to the authors own solution).
=== Community
Q: `If in doubt, is there a substantial benefit to a long-standing
community member with many users?`
* The community shapes the future of Gerrit as a product. In
cases of doubt, the ESC can be more generous with long-standing community members compared to `drive-by` contributions.
cases of doubt, the ESC can be more generous with long-standing
community members compared to `drive-by` contributions.
[[esc-dd-evaluation]]
== How the ESC evaluates design documents
This section describes how the ESC evaluates design documents. Its
meant as a guideline rather than being prescriptive for both ESC
members and contributors.
=== General Process
As part of the design process, the ESC makes a final decision if a
design gets to be implemented. If there are multiple alternative
solutions, the ESC will decide which solution can be implemented.
The ESC should wait until all contributors had the chance to
voice their opinion in review comments or by proposing alternative
solutions. Due to the infrequent ESC meetings (every 2-4 weeks)
the ESC might discuss documents in cases where the discussion is
already advanced far enough, but not make a decision yet. In this
case, contributors can still voice concerns or discuss alternatives.
The decision can be at the next meeting or via email in between
meetings.
=== Evaluation
Product/Vision fit
Q: `Do we believe this feature belongs to Gerrit Code Review use-cases?`
* Yes: Customizable dashboards
* No: UI for managing an LDAP server
Q: `Is the proposed solution aligned with Gerrits vision?`
* Yes: Showing comments of older patch sets in newer patch sets to
keep track (core code review)
* No: Implement a bug tracker in Gerrit (not core code review).
=== Impact
Q: `Will the new feature have a measurable, positive impact?`
* Yes: Increased productivity, faster/smoother workflow, etc.
* Yes: Better latency, more reliable system.
* No: Unclear impact or lacking metrics to measure.
=== Complexity
Q: `Can we support/maintain this feature once it is in Gerrit?`
* Yes: Code will fit into codebase, be well tested, easy to
understand.
* No: Will add code or a workflow that is hard to understand
and easy to misinterpret.
Q: `Is the proposed feature or rework adding unnecessary complexity?`
* Yes: Adding a dependency on a well-supported library.
* No: Adding a dependency on a library that is not widely used
or not actively maintained.
=== Core vs. Plugin decision
Q: `Would this fit better in a plugin?`
* Yes:The proposed feature or rework is an implementation (e.g. Lucene
is an index implementation) of a generic concept that others
might want to implement differently.
* Yes: The proposed feature or rework is very specific to a custom setup.
* No: The proposed feature or rework is applicable to a wider user
base.
* No: The proposed feature or rework is a `core code review feature`.
=== Commitment
Q: `Is someone willing to implement it?` (this question is
especially important when reviewers propose alternative designs
to the authors own solution).
* Yes: The author or someone else commits to implementing the
proposed solution.
* Yes: If a mentorship is required, a mentor is willing to help.
* No: Unclear ownership, mentorship or implementation plan.
=== Community
Q: `If in doubt, is there a substantial benefit to a long-standing
community member with many users?`
* The community shapes the future of Gerrit as a product. In
cases of doubt, the ESC can be more generous with long-standing
community members compared to `drive-by` contributions.
GERRIT
------

View File

@@ -58,6 +58,7 @@ import org.junit.runners.model.InitializationError;
* public static Config firstConfig() {
* Config cfg = new Config();
* cfg.setString("gerrit", null, "testValue", "a");
* return cfg;
* }
* }
*
@@ -66,6 +67,7 @@ import org.junit.runners.model.InitializationError;
* public static Config secondConfig() {
* Config cfg = new Config();
* cfg.setString("gerrit", null, "testValue", "b");
* return cfg;
* }
*
* {@literal @}Test