You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -17,21 +18,27 @@ See [README](README.md) for details.
17
18
***Other docs or links:**
18
19
*`<Links…>`
19
20
20
-
> TL;DR: Give here a short summary of what this document is proposing and what components it is touching. Outline rough idea of proposer's view on proposed changes.
21
+
> TL;DR: Give here a short summary of what this document is proposing and what components it is touching. Outline rough
22
+
> idea of proposer's view on proposed changes.
21
23
>
22
24
> *For example: This design doc is proposing a consistent design template for “example.com” organization.*
23
25
24
26
## Why
25
27
26
28
Put here a motivation behind the change proposed by this design document, give context.
27
29
28
-
*For example: It’s important to clearly explain the reasons behind certain design decisions in order to have a consensus between team members, as well as external stakeholders. Such a design document can also be used as a reference and knowledge-sharing purposes. That’s why we are proposing a consistent style of the design document that will be used for future designs.*
30
+
*For example: It’s important to clearly explain the reasons behind certain design decisions in order to have a consensus
31
+
between team members, as well as external stakeholders. Such a design document can also be used as a reference and
32
+
knowledge-sharing purposes. That’s why we are proposing a consistent style of the design document that will be used for
33
+
future designs.*
29
34
30
35
### Pitfalls of the current solution
31
36
32
37
What specific problems are we hitting with the current solution? Why it’s not enough?
33
38
34
-
*For example, We were missing a consistent design doc template, so each team/person was creating their own. Because of inconsistencies, those documents were harder to understand, and it was easy to miss important sections. This was causing certain engineering time to be wasted.*
39
+
*For example, We were missing a consistent design doc template, so each team/person was creating their own. Because of
40
+
inconsistencies, those documents were harder to understand, and it was easy to miss important sections. This was
41
+
causing certain engineering time to be wasted.*
35
42
36
43
## Goals
37
44
@@ -61,7 +68,8 @@ Explain the full overview of the proposed solution. Some guidelines:
61
68
62
69
## Alternatives
63
70
64
-
The section stating potential alternatives. Highlight the objections reader should have towards your proposal as they read it. Tell them why you still think you should take this path [[ref](https://twitter.com/whereistanya/status/1353853753439490049)]
71
+
The section stating potential alternatives. Highlight the objections reader should have towards your proposal as they
72
+
read it. Tell them why you still think you should take this path.
Copy file name to clipboardExpand all lines: README.md
+34-13Lines changed: 34 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,37 +5,58 @@ reviewing, discovering, and working on the design documents. It is also a record
5
5
6
6
## Current Proposals
7
7
8
-
* The [open PRs with the `proposal` label](https://github.com/mixxxdj/proposals/pulls?q=is%3Aopen+is%3Apr+label%3Aproposal) show all the pending proposals.
9
-
* The [proposals directory](./proposals) shows all the accepted proposals. See the “Implementation Status” for details on the implementation.
10
-
* The [PRs with the `proposal` label that are closed without merging](https://github.com/mixxxdj/proposals/pulls?q=is%3Apr+label%3Aproposal+is%3Aclosed+is%3Aunmerged) show all the rejected proposals.
8
+
* The
9
+
[open PRs with the `proposal` label](https://github.com/acolombier/mixxx-proposals/pulls?q=is%3Aopen+is%3Apr+label%3Aproposal)
10
+
show all the pending proposals.
11
+
* The [proposals directory](./proposals) shows all the accepted proposals. See the “Implementation Status” for details
12
+
on the implementation.
13
+
* The
14
+
[PRs with the `proposal` label that are closed without merging](https://github.com/acolombier/mixxx-proposals/pulls?q=is%3Apr+label%3Aproposal+is%3Aclosed+is%3Aunmerged)
15
+
show all the rejected proposals.
11
16
12
17
## What’s a Design Document?
13
18
14
-
It’s essential to clearly explain the reasons behind certain design decisions to have a community consensus. This is especially
15
-
important in Mixxx, where every decision might have a significant impact given the high adoption and stability of the software and standards we work on.
19
+
It’s essential to clearly explain the reasons behind certain design decisions to have a community consensus. This is
20
+
especially important in Mixxx, where every decision might have a significant impact given the high adoption and
21
+
stability of the software and standards we work on.
16
22
17
23
In our world, no decision is perfect, so having a design document explaining our trade-offs is essential.
18
24
Such a document can also be used later as a reference and for knowledge-sharing purposes.
19
25
20
26
Design documents do not always reflect what has been (or will be) implemented. Implementation details
21
-
might have changed since a feature was merged. Design docs are not considered documentation and can not define a standard.
27
+
might have changed since a feature was merged. Design docs are not considered documentation and can not define a
28
+
standard.
22
29
Instead, it should explain the motivation, scope, decisions, and alternatives considered.
23
30
31
+
A design document shall describe the use-cases the proposal will implement and also the use-cases that are explicitly
32
+
not included.
33
+
34
+
It may also contain requirements and acceptance criteria of a derived Pull Request. This avoid feature creep and adjust
35
+
the expectations during a review.
36
+
24
37
## Proposal Process
25
38
26
39
Don’t get scared to propose ideas! It’s amazing to innovate in the open and get feedback on ideas.
27
40
28
41
The process of proposing a change via a design document is the following:
29
42
30
-
1. Fork `github.com/mixxxdj/proposals`.
31
-
2. Create a GitHub Pull Request with a design document in markdown format to the [proposals directory](./proposals). Make sure to use the [template](0000-00-00_template.md) as the guide for what sections should be present in the document. Put the creation date (the day you started preparing this design document) as the prefix and some unique name as the suffix in the file name. Once the PR is proposed, a maintainer will assign a `proposal` label.
32
-
3. An automatic formatter is enabled in the repository. Use `make` locally to trigger the formatting of all markdown documents (requires a working Go environment). Use `make check` to check all links (will be done by the CI pipeline, too).
33
-
4. After a sufficient amount of discussion, the Mixxx team will try to reach a consensus of accepting or rejecting the proposal. In the former case, the PR gets merged. In the latter case, the PR gets closed with meaningful reasons why the proposal was rejected.
43
+
1. Fork `github.com/acolombier/mixxx-proposals`.
44
+
2. Create a GitHub Pull Request with a design document in markdown format to the [proposals directory](./proposals).
45
+
Make sure to use the [template](0000-00-00_template.md) as the guide for what sections should be present in the
46
+
document. Put the creation date (the day you started preparing this design document) as the prefix and some unique
47
+
name as the suffix in the file name. Once the PR is proposed, a maintainer will assign a `proposal` label.
48
+
3. An automatic formatter is enabled in the repository. Use `pre-commit` locally to trigger the formatting of all
49
+
markdown documents (requires a working `pre-commit` installation).
50
+
4. After a sufficient amount of discussion, the Mixxx team will try to reach a consensus of accepting or rejecting the
51
+
proposal. In the former case, the PR gets merged. In the latter case, the PR gets closed with meaningful reasons why
52
+
the proposal was rejected.
34
53
1. To merge the PR, we need approval (consensus) from the maintainers of the related component(s).
35
-
2. Optionally: Find a sponsor among the Mixxx maintainers to get momentum on a change.
54
+
2. Optionally: Find a sponsor among the Mixxx maintainers to get momentum on a change. You may use
55
+
[Zulip](https://mixxx.zulipchat.com/) to do that.
36
56
37
-
Once the PR gets merged, the design document can change, but it requires (less strict, but still) a PR with review and merge by a maintainer.
57
+
Once the PR gets merged, the design document can change, but it requires (less strict, but still) a PR with review and
58
+
merge by a maintainer.
38
59
39
60
## Credits
40
61
41
-
This proposal process was largely inspired by the [Prometheus Proposal Process](https://github.com/prometheus/proposals)
62
+
This proposal process was largely inspired by the [Prometheus Proposal Process](https://github.com/prometheus/proposals)
0 commit comments