| {% set rfcid = "Template" %} |
| {% include "docs/contribute/governance/rfcs/_common/_rfc_header.md" %} |
| # {{ rfc.name }} - {{ rfc.title }} |
| <!-- *** DO NOT EDIT ABOVE THIS LINE --> |
| |
| <!-- |
| *** This should begin with an H2 element (for example, ## Summary). |
| --> |
| |
| ## Summary |
| |
| A one paragraph description of the rest of the proposal. |
| |
| ## Motivation |
| |
| What problem does this proposal solve? |
| |
| ## Design |
| |
| This is the technically detailed version of your proposal. |
| |
| ## Implementation |
| |
| How will you go about implementing this design? Can the change be made in a |
| single Gerrit change or does the change involve a complex migration of |
| third-party dependencies? Do you plan to structure the implementation |
| into phases? What dependencies exist at each phase? |
| |
| ## Performance |
| |
| What impact will this proposal have on performance? What benchmarks should we |
| create to evaluate the proposal? To evaluate the implementation? Which of those |
| benchmarks should we monitor on an ongoing basis? |
| |
| ## Security considerations |
| |
| What impact will this proposal have on security? Does the proposal require a |
| security review? |
| |
| A good starting point is to think about how the system might encounter untrusted |
| inputs and how those inputs might be used to manipulate the system. From there, |
| consider how known classes of vulnerabilities might apply to the system and what |
| tools and techniques can be applied to avoid those vulnerabilities. |
| |
| ## Privacy considerations |
| |
| What impact will this proposal have on privacy? Does the proposal require a |
| privacy review? |
| |
| A good starting point is to think about how user data might be collected, |
| stored, or processed by your system. From there, consider the lifecycle of such |
| data and any data protection techniques that may be employed. |
| |
| ## Testing |
| |
| How will you test your feature? A typical testing strategy involves unit, |
| integration, and end-to-end tests. Are our existing test frameworks and |
| infrastructure sufficient to support these tests or does this proposal require |
| additional investment in those areas? |
| |
| If your system defines a contract implemented by other people, how will those |
| people test that they have implemented the contract correctly? Consider, for |
| example, creating a conformance test suite for this purpose. |
| |
| ## Documentation |
| |
| Do we need to create or update any documentation to cover this feature? For |
| example, do we need to add or remove an entry from the project roadmap? Do we |
| need to change the architecture document? Would end-developers benefit from |
| documentation related to this proposal? |
| |
| ## Drawbacks, alternatives, and unknowns |
| |
| What are the costs of implementing this proposal? |
| |
| What other strategies might solve the same problem? |
| |
| What questions still need to be resolved, or details iterated upon, to accept |
| this proposal? Your answer to this is likely to evolve as the proposal evolves. |
| |
| ## Prior art and references |
| |
| Is there any background material that might be helpful when reading this |
| proposal? For instance, do other operating systems address the same problem this |
| proposal addresses? |
| |