1*61c4878aSAndroid Build Coastguard Worker.. _seed-0002: 2*61c4878aSAndroid Build Coastguard Worker 3*61c4878aSAndroid Build Coastguard Worker=================== 4*61c4878aSAndroid Build Coastguard Worker0002: SEED Template 5*61c4878aSAndroid Build Coastguard Worker=================== 6*61c4878aSAndroid Build Coastguard Worker.. seed:: 7*61c4878aSAndroid Build Coastguard Worker :number: 2 8*61c4878aSAndroid Build Coastguard Worker :name: SEED Template 9*61c4878aSAndroid Build Coastguard Worker :status: Open for Comments 10*61c4878aSAndroid Build Coastguard Worker :proposal_date: 2022-11-30 11*61c4878aSAndroid Build Coastguard Worker :cl: 123090 12*61c4878aSAndroid Build Coastguard Worker :authors: The Pigweed Team 13*61c4878aSAndroid Build Coastguard Worker :facilitator: Unassigned 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Worker------- 16*61c4878aSAndroid Build Coastguard WorkerSummary 17*61c4878aSAndroid Build Coastguard Worker------- 18*61c4878aSAndroid Build Coastguard WorkerWrite a brief paragraph outlining your proposal. If the SEED supersedes another, 19*61c4878aSAndroid Build Coastguard Workermention it here. 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Worker---------- 22*61c4878aSAndroid Build Coastguard WorkerMotivation 23*61c4878aSAndroid Build Coastguard Worker---------- 24*61c4878aSAndroid Build Coastguard WorkerDescribe the purpose of this proposal. What problem is it trying to solve? 25*61c4878aSAndroid Build Coastguard WorkerInclude any relevant background information. 26*61c4878aSAndroid Build Coastguard Worker 27*61c4878aSAndroid Build Coastguard Worker-------- 28*61c4878aSAndroid Build Coastguard WorkerProposal 29*61c4878aSAndroid Build Coastguard Worker-------- 30*61c4878aSAndroid Build Coastguard WorkerIn this section, provide a detailed treatment of your proposal, and the 31*61c4878aSAndroid Build Coastguard Workeruser-facing impacts if the proposal were to be accepted. Treat it as a 32*61c4878aSAndroid Build Coastguard Workerreference for the new feature, describing the changes to a user without 33*61c4878aSAndroid Build Coastguard Workerbackground context on the proposal, with explanations of key concepts and 34*61c4878aSAndroid Build Coastguard Workerexamples. 35*61c4878aSAndroid Build Coastguard Worker 36*61c4878aSAndroid Build Coastguard WorkerFor example, if the proposal adds a new library, this section should describe 37*61c4878aSAndroid Build Coastguard Workerits public API, and be written in the style of API documentation. 38*61c4878aSAndroid Build Coastguard Worker 39*61c4878aSAndroid Build Coastguard Worker--------------------- 40*61c4878aSAndroid Build Coastguard WorkerProblem investigation 41*61c4878aSAndroid Build Coastguard Worker--------------------- 42*61c4878aSAndroid Build Coastguard WorkerThis section contains detailed research into the problem at hand. Crucially, the 43*61c4878aSAndroid Build Coastguard Workerfocus here is on the problem itself --- *not* the proposed solution. The purpose 44*61c4878aSAndroid Build Coastguard Workeris to convince stakeholders that the proposal is addressing the right issues: 45*61c4878aSAndroid Build Coastguard Workerthere needs to be agreement on the *why* before they can think about the *how*. 46*61c4878aSAndroid Build Coastguard Worker 47*61c4878aSAndroid Build Coastguard WorkerGenerally, this section should be the primary focus of the proposal. 48*61c4878aSAndroid Build Coastguard Worker 49*61c4878aSAndroid Build Coastguard WorkerConsiderations which should be made in the investigation include: 50*61c4878aSAndroid Build Coastguard Worker 51*61c4878aSAndroid Build Coastguard Worker- How does this problem currently impact stakeholders? 52*61c4878aSAndroid Build Coastguard Worker 53*61c4878aSAndroid Build Coastguard Worker- What kinds of use cases, both specific and general, are being addressed? What 54*61c4878aSAndroid Build Coastguard Worker are their priorities? What use cases are *not* being considered, and why? 55*61c4878aSAndroid Build Coastguard Worker 56*61c4878aSAndroid Build Coastguard Worker- Examination of any "prior art". Are there existing solutions to this problem 57*61c4878aSAndroid Build Coastguard Worker elsewhere? What attempts have previously been made, and how do they compare to 58*61c4878aSAndroid Build Coastguard Worker this proposal? What are the benefits and drawbacks of each? 59*61c4878aSAndroid Build Coastguard Worker 60*61c4878aSAndroid Build Coastguard Worker- Is there a workaround for this problem currently in use? If so, how does it 61*61c4878aSAndroid Build Coastguard Worker work, and what are its drawbacks? 62*61c4878aSAndroid Build Coastguard Worker 63*61c4878aSAndroid Build Coastguard Worker- Are there existing Pigweed decisions or policies which are relevant to this 64*61c4878aSAndroid Build Coastguard Worker issue, and can anything be learned from them? 65*61c4878aSAndroid Build Coastguard Worker 66*61c4878aSAndroid Build Coastguard Worker- If the problem involves data not under Pigweed's control, consider the 67*61c4878aSAndroid Build Coastguard Worker security and privacy implications. 68*61c4878aSAndroid Build Coastguard Worker 69*61c4878aSAndroid Build Coastguard WorkerThe depth of the problem investigation should increase proportionally to the 70*61c4878aSAndroid Build Coastguard Workerscope and impact of the problem. 71*61c4878aSAndroid Build Coastguard Worker 72*61c4878aSAndroid Build Coastguard Worker--------------- 73*61c4878aSAndroid Build Coastguard WorkerDetailed design 74*61c4878aSAndroid Build Coastguard Worker--------------- 75*61c4878aSAndroid Build Coastguard WorkerIf the proposal includes code changes, the detailed design section should 76*61c4878aSAndroid Build Coastguard Workerexplain the implementation at a technical level. It should be sufficiently 77*61c4878aSAndroid Build Coastguard Workerdetailed for a developer to understand how to implement the proposal. 78*61c4878aSAndroid Build Coastguard Worker 79*61c4878aSAndroid Build Coastguard WorkerAny of the following should be discussed in the design, if applicable: 80*61c4878aSAndroid Build Coastguard Worker 81*61c4878aSAndroid Build Coastguard Worker- API design. 82*61c4878aSAndroid Build Coastguard Worker- Internal data storage / layout. 83*61c4878aSAndroid Build Coastguard Worker- Interactions with existing systems. 84*61c4878aSAndroid Build Coastguard Worker- Similar existing Pigweed APIs: consider framework-wide consistency. 85*61c4878aSAndroid Build Coastguard Worker- Testing strategies. 86*61c4878aSAndroid Build Coastguard Worker- Performance. 87*61c4878aSAndroid Build Coastguard Worker- Code / memory size requirements. 88*61c4878aSAndroid Build Coastguard Worker- If an existing implementation is being changed, will there be backwards 89*61c4878aSAndroid Build Coastguard Worker compatibility? 90*61c4878aSAndroid Build Coastguard Worker 91*61c4878aSAndroid Build Coastguard WorkerThis section may also choose to link to a prototype implementation if one is 92*61c4878aSAndroid Build Coastguard Workerwritten. 93*61c4878aSAndroid Build Coastguard Worker 94*61c4878aSAndroid Build Coastguard Worker------------ 95*61c4878aSAndroid Build Coastguard WorkerAlternatives 96*61c4878aSAndroid Build Coastguard Worker------------ 97*61c4878aSAndroid Build Coastguard WorkerDescribe what alternative solutions to the problem were considered, referencing 98*61c4878aSAndroid Build Coastguard Workerthe problem investigation as necessary. 99*61c4878aSAndroid Build Coastguard Worker 100*61c4878aSAndroid Build Coastguard WorkerAdditionally, consider the outcome if the proposal were not to be accepted. 101*61c4878aSAndroid Build Coastguard Worker 102*61c4878aSAndroid Build Coastguard Worker-------------- 103*61c4878aSAndroid Build Coastguard WorkerOpen questions 104*61c4878aSAndroid Build Coastguard Worker-------------- 105*61c4878aSAndroid Build Coastguard WorkerAre there any areas of the problem that are not addressed by this proposal, and 106*61c4878aSAndroid Build Coastguard Workeris there a plan to resolve them? Does this proposal have implications beyond its 107*61c4878aSAndroid Build Coastguard Workerdescribed scope? 108*61c4878aSAndroid Build Coastguard Worker 109*61c4878aSAndroid Build Coastguard WorkerIf there are anticipated to be additional SEEDs to address outstanding issues, 110*61c4878aSAndroid Build Coastguard Workerreference them here, linking to them if they already exist. 111