Skip to content

weaveVM/rfcs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

img

WeaveVM RFCs

The "RFC" (request for comments) process is intended to provide a consistent and controlled path for new features for WeaveVM (WVM), so that all stakeholders can be confident about the direction the protocol is evolving in. Many changes, including bug fixes and documentation improvements, can be implemented and reviewed via the normal GitHub pull request workflow.

However, many changes are “substantial” and need to go through a design process and produce a consensus among the project stakeholders. The “RFC” (request for comments) process is intended to provide a consistent and controlled path for new features to enter the project.

Working with RFCs

Contributors and project stakeholders should consider using this process if they intend to make “substantial” changes to WeaveVM or its documentation. Some examples that would benefit from an RFC are:

  • A new feature that creates new API surface area, and would require a feature flag if introduced.

  • The modification of an existing stable repository.

  • The removal of features that already shipped as part of WeaveVM.

  • Introducing new idiomatic usage or conventions, even if they do not include code changes to WeaveVM itself.

The RFC process is a great opportunity to get more eyeballs on proposals coming from contributors before it becomes a part of WeaveVM. Quite often, even proposals that seem “obvious” can be significantly improved once a wider group of interested people have a chance to weigh in.

The RFC process can also be helpful to encourage discussions about a proposed feature as it is being designed and incorporate important constraints into the design. At the same time, it’s easier to change, before the design has been fully implemented.

Some changes do not require an RFC:

  • Rephrasing, reorganizing or refactoring.

  • Addition or removal of warnings, disclaimers, and others.

The process in itself consists of creating a GitHub issue with the RFC label that documents the proposal thoroughly. There is an RFC template included in this repository that serves as a guideline for writing a new RFC.

License

This repository is licensed under the MIT License

Contributions

Unless you explicitly state otherwise, any contribution you intentionally submitted for inclusion in your work, as defined in the MIT license, shall be licensed as above, without any additional terms or conditions.