A few days ago, lang team member @withoutboats posted a RFC about adding async destructors. I do not want to discuss the technical contents of this RFC here, but rather ask a question about the discussions around it.
The PR of this RFC quickly accumulated lots of comments listing technical concerns. I perceive almost all individual comments as largely constructive. (Disclosure: I wrote three of the comments.) Some pointed out edge cases or similar concerns. Some expressed disagreement about the core trade-offs proposed. A few were off-topic and about the commenters' general qualms with Rust's Drop mechanics, but from my impression, that was the most problematic thing there was.
However, although each individual comment was civil, I can understand boats being overwhelmed and put off by the whole of them. Today they closed the RFC with the comment:
i dont want to deal with this rfc thread. im not getting paid to do this and it makes me very unhappy
They also tweeted:
Great thing about not getting paid to work on rust is I can just close my RFC instead of engaging in the awful back and forth
Of course the rust project might want to do something about having processes that make me prefer to walk away than contribute! I know people are trying to fix things but seriously
withoutboats has been contributing great work to the Rust language, ecosystem, and community. A situation which makes them, or any other contributor, feel unhappy about contributing is a situation we should strive to avoid. While I sympathize with the problem, I think that in this case, the solution is not simple at all.
My comments to that thread were my first contribution to rust-lang/rfcs, and it isn't fun to realize you might be part of a problematic dynamic. I was contemplating how to learn from this and handle this better in the future, but I couldn't really find an answer.
So, my questions are:
- Is the way this PR thread played out problematic and something we should avoid in the future?
- Were the comments made at an appropriate time in the development in the PR? Was it ready for comments from the wider public? If not, how can we communicate this timing better?
- Was the tone and attitude of the comments appropriate? If there is room for improvement, how can commenters strike a tone that is more beneficial to the Rust community and its culture of public collaboration?
- What "volume" of feedback to a RFC is appropriate and sustainable? If this differs between RFCs, how can we communicate this level better on a per-RFC basis? How can specifically the commenters to an RFC (assuming the best of their intentions) control this volume while making sure every concern is eventually voiced?
- Are there any other steps we can take or behaviors we can encourage to avoid these problems in the future?
Some notes:
- So far, everyone involved seems to have managed not to blame each other. I'd like to keep it that way. (Special kudos to @withoutboats - being on the receiving end of an unhealthy dynamic must make this quite hard.)
- I posted this to internals because the motivating incident occurred in the Rust development community.
- My questions are not directed specifically to withoutboats, but rather to all of the community. I expect there will be disagreement about the answers, but we don't necessarily have to agree in order to collect helpful suggestions. Please be civil.
- Please, please do not make this about your "free speech" or anything like that. This is not about what minimal standard of behavior we should accept, but rather about how to go above that to actively make the community a better place. I'd like to learn something, not light a dumpster fire.