Skip to content
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

Central place to host RFCs #7267

Closed
j8r opened this issue Jan 4, 2019 · 10 comments
Closed

Central place to host RFCs #7267

j8r opened this issue Jan 4, 2019 · 10 comments

Comments

@j8r
Copy link
Contributor

j8r commented Jan 4, 2019

What's an RFC?

RFC means Request For Comments.
Essentially, it's a publication describing a change to perform. Other community are invited to share their opinions on it.

Why we need a central place to host them

As now their are usually issues in this repo tagged [RFC], sometimes PR too.
Their state are difficult to track, and that's not rare to not find them back.
This leads to having hard time to recall decisions that was made for a particular topic.

Suggestion

Similar to https://github.com/rust-lang/rfcs, Crystal could have https://github.com/crystal-lang/rfcs too.
This isn't perfect, time/metadata are missing, but it's still a lot better than nothing.

@asterite
Copy link
Member

asterite commented Jan 4, 2019

Duplicate of #4944

I still think it might be a good idea, though...

@RX14
Copy link
Contributor

RX14 commented Jan 4, 2019

The forums, if anywhere.

@RX14
Copy link
Contributor

RX14 commented Jan 4, 2019

I suggest you bring this up on the forum

@RX14 RX14 closed this as completed Jan 4, 2019
@asterite
Copy link
Member

asterite commented Jan 4, 2019

@RX14 Ooooh... that's an excellent idea! We should probably have an RFCs category in the forums.

@straight-shoota
Copy link
Member

The forum is a great place for an initial discussion, brainstorming etc. But when it comes to working out the details, a PR-based system is probably far superior. It represents current state and history of discussion and gives context to comments focusing on individual aspects. That's hardly possible to keep track of in a forum thread.

@RX14
Copy link
Contributor

RX14 commented Jan 5, 2019

@straight-shoota but an RFC is for working out the plan, before something is implemented into code

@straight-shoota
Copy link
Member

The RFC procedure to working out a plan is, someone makes a detailed proposal (this can come from a discussion in the forum) and submits this proposal for review, as a request for comments. Then people get to comment on and improve the details of the proposal and it finally gets either approved and implemented or disapproved. This reviewing process fits exactly to the concept of pull requests. Leading such discussions in a linear-only forum thread will have everyone loose their sanity.

@j8r
Copy link
Contributor Author

j8r commented Jan 5, 2019

Sorry @asterite, didn't see the previous issue about hosting RFCs. When writing the title, RFCs were suggested 😅 . Having them as text would be so much easier for searching keywords locally.
Another good point is migration – actually every RFC is lost if for a reason or another, Crystal goes out of GitHub.

@RX14
Copy link
Contributor

RX14 commented Jan 5, 2019

@straight-shoota the github PR interface is very linear. I struggle to see the benefit.

Doing any kind of review on anything 1000+ lines (which RFC PRs will be, since they cannot be split up) is hell anywhere. This is why we prefer smaller PRs to larger ones on github, but that's simply not possible in an RFC document which must be a cohesive whole.

The only sane process for editing an RFC is to appoint an editor, which is responsible for translating the concepts into text, then debate the concepts in multiple threads. I don't see how it can be done on Github, and even on the forums it'll be difficult. It would have to translate as each RFC having a category on the forum, or more likely a tag.

@proyb6
Copy link

proyb6 commented Jan 5, 2019

Perhaps, try Kanban for Github?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants