# Up-votes instead of down-votes on RFCs

**URL:** <https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309>\
**Category:** policy\
**Created:** [November 27, 2017, 7:48pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309 "2017-11-27T19:48:38Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 1:49pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/21 "2018-03-05T13:49:51Z")

</div>

> [@Centril](#):
>
> I never said feedback should be repeated. You should instead agree with other people who have already provided your feedback instead of repeating.

Unfortunately in many large RFC discussions repetition means visibility.

Anyway, as someone in the "explicit over implicit" camp I sometimes just give a thumbs-down instead of a comment because I don't want to derail the discussion with another rehash of "is explicit really explicit". In that way the thumbs-down works as a signal of disagreement without stepping into the line of fire.

If I see a well-put comment that I agree with, I'll give it an upvote, but Github discussions make it very easy for those to be overlooked. In my experience the key to getting heard in RFC discussions is repetition, volume and code. Short explanatory comments have a harder time coming through, and a couple of thumbs-down on the top post at least signal that there's some disagreement.

---

<div class="post-metadata">

**Author:** ![notriddle](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/notriddle/32/14082_2.png) [@notriddle](https://internals.rust-lang.org/u/notriddle)\
**Post date:** [March 5, 2018, 1:52pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/22 "2018-03-05T13:52:27Z")

</div>

> [@phaylon](#):
>
> In my experience the key to getting heard in RFC discussions is repetition, volume and code.

Then the RFC process is officially broken.

Maybe the "repo for this RFC, let's use issues as a cheap threading mechanism" pattern should be used more often?

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 1:56pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/23 "2018-03-05T13:56:35Z")

</div>

> [@phaylon](#):
>
> In my experience the key to getting heard in RFC discussions is repetition, volume and code.

This sounds very disconcerting.

---

<div class="post-metadata">

**Author:** ![hanna-kruppe](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/hanna-kruppe/32/6540_2.png) [@hanna-kruppe](https://internals.rust-lang.org/u/hanna-kruppe)\
**Post date:** [March 5, 2018, 1:57pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/24 "2018-03-05T13:57:21Z")

</div>

> [@JoeyAcc](#):
>
> Whatever goes for upvotes also holds for downvotes, i.e. one conveys precisely the same amount of information as the other.

While this argument could be made for down votes vs upvotes on the _same_ post (I would disagree but it's more subtle), a vote on a comment laying out one specific concern conveys more information than a vote on the RFC as a whole, because the comment is more specific. Compare "I disagree with this RFC as a whole" with "I agree that the proposed syntax is inconsistent with this part of the language".

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:01pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/25 "2018-03-05T14:01:14Z")

</div>

> [@notriddle](#):
>
> Then the RFC process is officially broken.

I'd just say "suboptimal," since it works fine as long as there aren't too many comments. But anything that goes towards discussing bikeshed colors or language principles can get quickly out of hand.

> [@notriddle](#):
>
> Maybe the “repo for this RFC, let’s use issues as a cheap threading mechanism” pattern should be used more often?

Unfortunately, that makes information just less discoverable. There's a couple changes I dislike and would like to follow, but it's really hard to know where all the discussion is happening once it starts spanning multiple issues.

I believe Github is just unsuited for those kinds of discussions. Anything with real threading would work better in my opinion. Maybe even just have weekly RFC discussion posts on reddit would help. It would also help to make RFCs more visible to the community, which I'd also love to see more of.

That's another point, currently RFCs aren't as widely visible as they could be. I only find them via TWIR. They aren't even posted here on the internals board. If they become more widely communicated, the discussion volume will increase.

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:05pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/26 "2018-03-05T14:05:57Z")

</div>

> [@Centril](#):
>
> This sounds very disconcerting.

I agree, it's very frustrating. Plus while it seems intuitive that "be more detailed and put in some code examples" would be helpful, it often leads to tangents that derail the non-threaded discussion. Like discussions of alternatives for specific examples instead of a focus on the demonstrated underlying point.

The good news is that harsh, emotional language will also get your comment more visibility, but that doesn't happen too often because in general the participants want fruitful discussions. Any time I've seen this (or it happened to me) was due to frustration with the limitations of the discussion format.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 2:11pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/27 "2018-03-05T14:11:43Z")

</div>

> [@phaylon](#):
>
> I agree, it’s very frustrating.

I didn't mean that it is frustrating. I meant: please don't do that.

> [@phaylon](#):
>
> it often leads to tangents that derail the non-threaded discussion

GitHub has a review functionality which provides for somewhat threaded discussion on the RFC text itself. Use it.

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:19pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/28 "2018-03-05T14:19:06Z")

</div>

> [@Centril](#):
>
> I didn’t mean that it is frustrating. I meant: please don’t do that.

Yeah, I'm not gonna stop with that. Or rather, I'm just less involved in RFCs in general now because of the frustration of being ignored. But when it's really important to me I'm gonna do what works for things to be seen.

Otherwise, without thumbs-down and strategical commenting I don't think I'd have much of a voice at all.

And, please believe me, it is _very frustrating_ to me.

The review functionality would also seem more suitable for discussions about parts of the RFC, rather than discussing the idea of the RFC as a whole.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 2:22pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/29 "2018-03-05T14:22:28Z")

</div>

> [@phaylon](#):
>
> The review functionality would also seem more suitable for discussions about parts of the RFC, rather than discussing the idea of the RFC as a whole.

Discussing an RFC as a whole is often not fruitful. If you take issue with the motivation, review the motivation, if you take issue with technical aspects, review the reference, if you have an alternative in mind, review the alternatives section, etc.

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:24pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/30 "2018-03-05T14:24:20Z")

</div>

> [@Centril](#):
>
> Discussing an RFC as a whole is often not fruitful. If you take issue with the motivation, review the motivation, if you take issue with technical aspects, review the reference, if you have an alternative in mind, review the alternatives section, etc.

Then maybe all discussion should only go through the review functionality, and top-level discussions prohibited?

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 2:26pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/31 "2018-03-05T14:26:16Z")

</div>

> [@phaylon](#):
>
> Then maybe all discussion should only go through the review functionality, and top-level discussions prohibited?

Perhaps - but that would require support from GitHub... do we have such functionality available to us?

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:28pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/32 "2018-03-05T14:28:25Z")

</div>

As a fallback, could a bot remove the toplevel comments perhaps and post a “use the review discussion feature” message higher up? Should probably let the core team post on the top level to allow for posting related things and such.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 2:35pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/33 "2018-03-05T14:35:24Z")

</div>

> [@phaylon](#):
>
> As a fallback, could a bot remove the toplevel comments

I think this is a bad idea - people could lose their messages which may be long.

> [@phaylon](#):
>
> post a “use the review discussion feature”

This is a good idea, rfcbot could do this. I don't think we need a technical solution here, just a matter of encouraging reviews and general etiquette.

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:38pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/34 "2018-03-05T14:38:58Z")

</div>

How about a reply from a bot to every non-core commenter to move the comment then?

I’d very much like to avoid the situation where the visible top comments are all in favor of the change and all disagreement is pushed somewhere else.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 2:48pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/35 "2018-03-05T14:48:46Z")

</div>

> [@phaylon](#):
>
> How about a reply from a bot to every non-core commenter to move the comment then?

I think this would create chaos and the bot would then have to remove its own comment upon the commenter removing theirs - otherwise, we'd end up with a bunch of bot comments. I think a comment at the top from rfcbot thanking the RFC author for the RFC and discouraging downvotes and encouraging reviews and upvotes on reviews is best.

PS: **very** few RFCs are actually the responsibility of T-core.. most are T-lang or T-libs.

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 2:59pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/36 "2018-03-05T14:59:26Z")

</div>

So, what would be the procedure when people don’t follow that, but the main discussion happens in the top-level?

I don’t think such a post would have a big effect in the high-volume discussions without someone to keep pushing it towards the review functionality.

---

<div class="post-metadata">

**Author:** ![kennytm](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/kennytm/32/161_2.png) [@kennytm](https://internals.rust-lang.org/u/kennytm)\
**Post date:** [March 5, 2018, 3:13pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/37 "2018-03-05T15:13:29Z")

</div>

Please don’t force discussion into reviews, it is very difficult to track new comments.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 3:20pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/38 "2018-03-05T15:20:42Z")

</div>

> [@kennytm](#):
>
> Please don’t force discussion into reviews, it is very difficult to track new comments.

The good thing about reviews is that they are tied to some specific RFC text, so they are much more local. With reviews, some concerns can be raised, resolved, and then folded (which GitHub will do automatically) once the concern has been resolved. That way, it is easier to see what issues are outstanding and what issues are resolved.

I agree that we shouldn't force discussions to reviews, but it should be the recommended way imo.

> [@phaylon](#):
>
> So, what would be the procedure when people don’t follow that, but the main discussion happens in the top-level?

We don't need a procedure. We can and should trust in people doing the right thing (whatever we decide the right thing to be).

---

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [March 5, 2018, 3:30pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/39 "2018-03-05T15:30:54Z")

</div>

> [@Centril](#):
>
> We don’t need a procedure. We can and should trust in people doing the right thing (whatever we decide the right thing to be).

I should clarify: I don't think this will happen out of malice, I think it will happen because someone will make a short top level comment like they're used to from Github discussions (e.g. "Please don't forget use-case X" or "Could this have relation to issue Y") and then the rest will flow from there.

But I'm happy to join discussions wherever they end up happening.

---

<div class="post-metadata">

**Author:** ![Centril](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/centril/32/3334_2.png) [@Centril](https://internals.rust-lang.org/u/Centril)\
**Post date:** [March 5, 2018, 3:37pm UTC](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309/40 "2018-03-05T15:37:09Z")

</div>

> [@phaylon](#):
>
> I don’t think this will happen out of malice,

For sure. However, since the rfcbot's comment will always be the first comment on an RFC, it will stay very visible and most people will read it at least once (once they've seen that particular message they will have internalized it).

[Previous page](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309.md?page=1)

[Next page](https://internals.rust-lang.org/t/up-votes-instead-of-down-votes-on-rfcs/6309.md?page=3)
