I recently came across the Rust Request-for-Comment system and was interested in whether others thought this would be a good system to adopt for Julia.
Background: we currently have an informal system for substantial feature requests (Julia enhancement proposals) through the github issue tracker. There's even a Julep tag intended for marking feature requests that go beyond "would be cool if" and actually provide implementation specifics (
https://github.com/JuliaLang/julia/issues?q=is%3Aopen+is%3Aissue+label%3Ajulep). But there aren't a lot of proposals that actually make use of that tag.
Motivation: My goal would be to encourage more up-front API design and thought going into feature requests. (quoth rust, "A hastily-proposed RFC can hurt its chances of acceptance."). As a side bonus, the resulting Julep should be relatively little work to convert into documentation, NEWS, and deprecation notices.
Additionally, I think that the merging of some pull requests is delayed by the necessity to simultaneously review whether the API proposal / behavior is correct and whether the tests, implementation, and documentation are all sufficient. With a more formal Julep process, the acceptance of a Julep would imply that any later implementation PR can be merged without further discussion about features. I think this could help reduce the review burden on core developers like Jeff, so that he only needs to review the proposed functionality, while others review the implementation details.
The many pull request now that do not require RFC would be unaffected by this additional process. In many cases, there is no value gained in separating the review of the behavioral change and its implementation.