New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement an RFC process for significant changes #11047
Comments
This looks like a good idea. I think it would be great to have a higher bar for documenting big design decisions and making sure the details/alternatives have been considered. When we discuss the details of this proposal more concretely, I might suggest not requiring an RFC for new rules, but we don't need to get hung up on that now. |
TSC Summary: This proposal seeks to introduce an RFC process for feature development and other significant changes. It would involve creating a markdown document and submitting it to an RFC repo where the feedback would be given and worked into the submission. When the proposal is accepted, it would be merged and remain as an artifact explaining the design and motivation for the change. A PR could then be submitted to the main ESLint repo without opening an issue. TSC Question: Shall we accept this proposal? (I'm willing to write up the first RFC so we can evaluate the process and make tweaks.) |
Sounds like a more organized way of requesting large changes. But I do share a concern for higher bar of entry and as such lower contributions from the community. |
I'm generally in favor of this, as I do think our current process breaks down when a proposal requires significant bikeshedding. My biggest concern is that managing two separate repositories for issues might lead to some confusion, since there's already some confusion regarding documentation (issues about documentation are frequently created on the eslint.github.io repo). Would we move any existing proposals that are significant changes (as defined above) to the new RFC repository and ask new issue creators to close the issue in the It might be nice to reach out to the Ember team to see what they like/dislike about their process. |
My thought was that the RFC repo would only allow PRs and not allow issues
at all, so I think that would make things a bit easier.
I would envision for existing open issues that we'd ask for an RFC, and
then once a PR is created, close the original issue and direct everyone to
put their comments on the pull request from then on.
…On Thu, Nov 8, 2018 at 6:00 AM Ilya Volodin ***@***.***> wrote:
Sounds like a more organized way of requesting large changes. But I do
share a concern for higher bar of entry and as such lower contributions
from the community.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#11047 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACWkpaQGtYQ57nFVcYO6PlnIQ7UyJl1ks5utDkUgaJpZM4YHMTl>
.
--
______________________________
Nicholas C. Zakas
@SlickNet
Author, Principles of Object-Oriented JavaScript <http://amzn.to/29Pmfrm>
Author, Understanding ECMAScript 6 <http://amzn.to/29K1mIy>
|
We're moving forward with this proposal after discussing it in today's meeting. To start out, we'll do RFCs for new CLI features, new core features, and breaking changes, and once we've iterated on that process, we can consider using it for new rules as well. Thanks @nzakas for volunteering to set up the RFCs repo and templates! |
I've setup the new repo and have submitted a PR with the proposed process and template: eslint/rfcs#2 |
This process is now and up running, so closing this issue. |
Motivation
Since ESLint started, we've always had a very loose process for making changes. People can open issues for their suggestions and we could then debate in the comments and make a decision. I think that worked well for most of the project's lifetime, but now that the ESLint codebase has grown to be quite complicated, I think it's time to implement a more thorough review process.
Problems with the Current Process
I think issue #10855 is a good example of the problem with the current process for significant changes. I started with a proposal and got great feedback in the comments. I then wanted to update the proposal to make it clear what I would be implementing, so I edited the issue description. Unfortunately, there had already been 👍s on the original description that stuck after I edited it. It was also hard to show how the proposal had progressed, so I ended up using strike-through format to show that, which is a bit difficult on the eyes.
The problem gets worse for issues with long conversations such as #3458 and #3565, both of which have seen multiple proposals and designs discussed, which then spawn more issues to clean up the discussion. I'd argue that these are both significant enough that a design process would be greatly beneficial.
Proposal Overview
I propose that we implement a request for comment (RFC) process similar to, but not exactly the same as, the one used by Ember. Quick overview:
As part of this process, an issue would no longer be required to implement a significant change because all of the details would be in the RFC.
Again, this is just a high-level description and I expect that we would need to iterate on a process that works best for ESLint.
Pros and Cons
I think this approach has several benefits:
And there are, of course, some downsides:
Additional Q&A
What is a Significant Change?
We can always debate this, but I would start with:
Each of these carries with it maintenance burden that the team needs to evaluate.
What would a design doc entail?
Again, I think this is something we can debate about, but I think the Ember RFC template is a good starting point. I'd look for:
Thoughts?
Initially I'm just looking for a "hey, this looks like a good idea" or a "no, I don't like this" from the team rather than getting hung up on specific parts of the proposal that we can change.
The text was updated successfully, but these errors were encountered: