This document exists to describe a proposal for enhancing the fastn
language. This is a Request For Comment. Please share your comments by posting them in the pull request for this RFC if this RFC is not merged yet. If the RFC is merged, you can post comment on our official Discord, or open a discussion on Github.
rfc
.Note: This RFC is heavly inspired by and borrows from the Rust’s RFC process document.
The freewheeling way that we add new features tofastn
has been good for early development, but for fastn
to become a mature platform we need to develop some more self-discipline when it comes to changing the system. This is a proposal for a more principled RFC process to make it a more integral part of the overall development process, and one that is followed consistently to introduce features to fastn
.Many changes, including bug fixes and documentation improvements can be implemented and reviewed via the normal GitHub pull request workflow.
Some changes though are “substantial”, and we ask that these be put through a bit of a design process and produce a consensus among thefastn
community and the core team.You need to follow this process if you intend to make “substantial” changes to the fastn
distribution. What constitutes a “substantial” change is evolving based on community norms, but may include the following.
In short, to get a major feature added to fastn
, one must first get the RFC merged in fastn.com
repo. At that point the RFC is ‘active’ and may be implemented with the goal of eventual inclusion into fastn
.
fastn.com
repo: https://github.com/fastn-stack/fastn.comrfcs/0000-template.ftd
to `rfcs/0000-my-feature.ftd (where ‘my-feature’ is descriptive. don’t assign an RFC number yet).Whomever merges the RFC should do the following:
rfcs/index.ftd
We have to only teach developers-of-fastn
about this new process, so teaching impact of this RFC is minimal. Even for developers-of-fastn
, given fastn
is implemented in Rust, so all developers of fastn are familiar with Rust, and also given we have heavily borrewed from Rust’s RFC process, teaching this should not pose a challenge in terms of new concepts.
fastn.com/rfcs/
.Have a question or need help?
Visit our GitHub Q&A discussion to get answers and subscribe to it to stay tuned.
Join our Discord channel and share your thoughts, suggestion, question etc.
Connect with our community!We welcome you to join our Discord community today.
We are trying to create the language for human beings and we do not believe it would be possible without your support. We would love to hear from you.