title: “{{ replace .Name “-” " " | title }}” menu: main jira: HDDS-XXX summary: One sentence summary. Will be displayed at the main design doc table. status: current author: Your Name
This the proposed template to document any proposal. It's recommended but not required the use exactly the some structure. Some proposal may require different structure, but we need the following information.
Give a one sentence summary, like the jira title. It will be displayed on the documentation page. Should be enough to understand
What is the problem and how would you solve it? Think about an abstract of a paper: one paragraph overview. Why will the world better with this change?
Very important to define what is outside of the scope of this proposal
Explain the problem in more details. How can it be reproduced? What is the current solution? What is the limitation of the current solution?
How the new proposed solution would solve the problem? Architectural design.
Implementation details. What should be changed in the code. Is it a huge change? Do we need to change wire protocol? Backward compatibility?
What are the other alternatives you considered and why do yoy prefer the proposed solution The goal of this section is to help people understand why this is the best solution now, and also to prevent churn in the future when old alternatives are reconsidered.
Note: In some cases 4/5 can be combined. For example if you have multiple proposals, the first version may include multiple solutions. At the end ot the discussion we can move the alternatives to 5. and explain why the community is decided to use the selected option.
Planning to implement the feature. Estimated size of the work? Do we need feature branch? Any migration plan, dependency? If it's not a big new feature it can be one sentence or optiona;.