I'd like to be able to respectfully disagree with pre-RFCs in a similar way I can agree with it, if I don't have anything to add to it.
While I don't miss this feature for the user forum, the internals forum with its pre-RFCs is more directed at gathering opinions (RFCs on Github also receive and directly beneath the proposal). I don't like the way I currently have to interact with pre-RFCs, that are technically correct, but just don't appeal to me, that is, I have to comment "I dislike this proposal". If someone asks me for opinion, this is appropriate. However, if I'd write "I like this proposal", that is inapproptiate as outlined in the forum rules, which explicitly say to use , if there is nothing else to add to it.
I think the first thing to ask is whether Discourse supports this. Do they?
If they do, then I think it's important to recognize that positive and negative feedback are received differently. There is an asymmetry there because of our humanness. It's easy to receive unstructured positive feedback. But critical feedback lacking any other context or explanation is often frustratingly difficult to deal with. This is why I almost never use the "thumbs down" emoji on GitHub.
Another way to look at this is the utility of even having a "thumbs down" reaction in the first place. What is it supposed to mean? A proposal isn't going to live and die by the number of emoji reactions it gets. Speaking as a team member, I generally ignore them completely. The only thing they're really useful for is as a very minor signal of community sentiment, but it's so easily gamed that it's often difficult to differentiate between that signal and noise. So in practice, it doesn't mean much.
IMO, if you disagree with a proposal, then speak up and say why you disagree with it constructively. Or perhaps even more productively, instead of saying you disagree with it, explain what kind of evidence or data you would want to see to be convinced it is a problem worth solving. (If you disagree with the motivation for the proposal in the first place. Which is a common pattern for me.)
One of the simplest go-to reasons for disagreeing is, because a feature adds subjectively more complexity to the language than it adds value. This will happen with every RFC, because any change is naturally adding complexityĀ¹ to the language and if that argument is brought up every time (it often is), then where is the point in bringing it up?
Of course, this topic also represents my subjective opinion and I agree in general, that providing in-depth critique is better than not doing so. I just also think, that sometimes, there is really nothing useful to add to the conversation and or similar would be more appropriate.
I guess, it's difficult to ensure people understand when it's appropriate to use it and act accordingly. Maybe, it's too easy to leave a thumbs-down and then not leave a comment, even if there is a reason worth mentioning, because of time-constraints, forgetting about it or perhaps just laziness. At that point, I would agree, that this feature goes against its purpose. This is probably impossible to prove or disprove without actual experiments.
However, I don't think it makes a difference if 5 people write "I disagree/dislike the proposal" or just press thumbs-down other than the latter taking up less space.
Ā¹ Changes require time for adaption, which adds complexity short- to mid-term, even if they reduce complexity, mid- to long-term.
When you agree with a proposal, you agree with it as-is, so it doesn't need any clarification.
If you disagree, you may disagree for lots of different reasons, so disagreement needs an explanation (and if you just dislike something for a reason you can't explain, maybe that's not a helpful opinion to express?)
If you disagree for the same reason as someone else who has already commented, you can heart their disagreeing comment.
One of the potential hazards in symmetric "up-vote" and "down-vote" buttons (thumbs-up/thumbs-down, heart/broken-heart, etc) is that it gives the appearance of a voting system. But this isn't really how the rust community works. We work on consensus, but this different from voting, and a personal worry of mine is that upvote/downvote buttons may subtly send the wrong signals.
I can think of two counters to this argument, which are (1) continual education of the community can prevent these buttons from being misused or misunderstood, and (2) github has these and it doesn't seem so bad over on github.
If someone wants to be on record as dis-favoring a proposal, they should be considerate enough to document what aspect(s) of the proposal bother them the most. It's easy to add a reply with a simple
if that's all they want to express, but a more helpful and considerate response would be to add reasons after the emoji to express why the proposal engendered that response. IMO the bare emoji tends to truncate discussion, while the reasoned emoji tends to expand discussion of potential modifications / enhancements to the proposal.
One thing I like to keep in mind is that most significant proposals fail āon their ownā by failing to gather a consensus or to motivate enough people to do the required design and implementation work. It's not really necessary or constructive to ādownvoteā such proposals when they're just at the stage of one person expressing an idea.
I wrote a longer post about this in this previous thread. Here's the most relevant part:
If a proposal (or a counter-argument to it) demonstrates value to enough people then it will gain support and can be refined into something that can reach consensus. If not, then it won't. Critiques of early-stage proposals in particular should be done with a goal of improving them, better understanding their motivation, or comparing them to alternatives. Comments that are closer to just "voting no" on a proposal aren't really necessary.
The problem with this is that well-reasoned rebuttals get lost in the sea of replies. I wish there was a better way to surface them, both to remind the OP of the counter argument (which I've seen OPs quickly forget as the number of posts continues to grow) as well as helping dissenters find an existing rebuttal so they don't have to rehash the same points over and over (with varying degrees of quality).
Thereās a small fraction of the proposals posted here that are really bad and low-effort. Part of me wishes there was a dislike button for those, but Iām conflicted. On one hand, I donāt want to be excessively critical and discourage the author from contributing.
On the other hand, without criticism, the author may think their proposal was fine and just failed to garner enough attention to take off (which is the fate of most proposals posted here, regardless of quality). And what Iāve sometimes observed in practice is the same author submitting large numbers of low-quality proposals, wasting not only our time but theirs.
Sure, in most cases, rather than blindly hitting a dislike button on a proposal, itās more constructive to write a reply explaining its flaws; you could say that not having a dislike button forces us to spend the effort to do so. But at least in my case, often the result is that I donāt have time to leave feedback in any form.
And in the ārepeated low effort proposalsā case, explaining the flaws in any one proposal is kind of missing the point. Iād need to say āyou are submitting low quality proposalsā, but thatāsā¦ harsh. A dislike button might be a way to convey that message with less hurt feelings.
I support this. While I agree that disagreement with a proposal should be elaborated beyond a simple "dislike", I still feel that only having a like button makes the effort needed for agreement and disagreement unbalanced and disproportionate. So I would also like the symmetry of having an opposite-of-heart button.
Well said, thank you. I was about to post a comment to this effect, but I found that yours fully expressed what I wanted to say.
(Also, it is OK to dislike something for a reason you can't explain, but then, you can say that: "Something about this bugs me, and I'm not sure why." That can lead to discussion, rather than ending discussion.)
Hit the "flag" button, choose the "Something Else" option, and write a nice message to the moderators. I've had to do that a couple of times, and the moderators are skilled at having tactful conversations with people who need to put a little more thought into their posts and proposals.
Appropriately enough, this post highlights a workaround for this problem: find a post that expresses an opposing opinion and click a like on that.
Usually you'll find such made by @H2CO3, as he's one of the few that not only takes the ā100 points philosophy very seriously, but is also not reluctant to speak up about it.
(This isn't some kind of passive-aggressive slight ā I very much appreciate him for it, even as we have diaagreed in a few cases, sometimes over this very principle.)
Of course, there's the issue that liking a rebuttal post like this may imply that you endorse all the points made in it, but it's not like regular ālikesā don't have a symmetric problem.
The brief reply/comment was meant to highlight how saying what I did is no different, and just as useful, as clicking a "Dislike" button. In other words, "useless" (IMHO).