Skip to content
This repository has been archived by the owner on Jul 6, 2021. It is now read-only.

Latest commit

 

History

History
64 lines (42 loc) · 2.12 KB

0000-template.md

File metadata and controls

64 lines (42 loc) · 2.12 KB
Start Date RFC PR Foam Issue
(fill me in with today's date, YYYY-MM-DD)
(leave this empty)
(leave this empty)

0000 Template

Summary

Brief explanation of the feature, change or process.

Basic example

If the proposal involves a new or changed API, include a basic code example.

If the proposal involves a new or changed user interface element, include a description, prototype, or mock-up of the change.

Omit this section if it's not applicable.

Motivation

Why are we doing this? What use cases does it support? What is the expected outcome?

Please focus on explaining the motivation so that if this RFC is not accepted, the motivation could be used to develop alternative solutions. In other words, enumerate the constraints you are trying to solve without coupling them too closely to the solution you have in mind.

Detailed design

This is the bulk of the RFC. Explain the design in enough detail for somebody familiar with Foam to understand, and for somebody familiar with the implementation to implement. This should get into specifics and corner-cases, and include examples of how the feature is used. Any new terminology should be defined here.

Drawbacks

Why should we not do this? Please consider:

  • implementation cost, both in term of code size, effort and complexity
  • whether the proposed feature can be implemented in user space, a recipe, or a third party extension
  • whether the proposed feature makes it more difficult for non-programmers to use Foam.
  • integration of this feature with other existing and planned features
  • cost of migrating existing Foam workspaces (is it a breaking change?)

There are tradeoffs to choosing any path. Attempt to identify them here.

Alternatives

What other designs have been considered? What is the impact of not doing this?

Adoption strategy

If we implement this proposal, how will existing Foam users adopt it? Is this a breaking change? Should we coordinate with other projects or extensions?

Unresolved questions

Optional, but suggested for first drafts. What parts of the design are still TBD?