-
-
Notifications
You must be signed in to change notification settings - Fork 158
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
[RFC 0077] Stale Issues Amendement #77
Conversation
c49e0da
to
ba63579
Compare
ba63579
to
0f0b8c9
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/how-many-people-are-paid-to-work-on-nix-nixpkgs/8307/85 |
I'm not in favour. There is no practical benefit of marking things as stale at higher rate. The bot's main purpose is to, infrequently, ask humans whether an issue is still relevant, to prevent years-old issues lying around that are resolved or obsolete. Its purpose is not to determine whether the "conversation is stale". We don't need a bot to tell us that a "conversation is stale". That is already observable from the silence and dates on the discussions. It is not actionable. The bot's current purpose is actionable and pragmatic. It prompts a human to triage the issue, There is a very concrete drawback of increasing the rate: Spamming people with irrelevant messages, increasing overhead. Many of us are subscribed to thousands of issues; you can calculate how many bot emails per day this means. (This should be added to the drawbacks section.) So they better be actionable. It is unreasonable to expect that an issue has resolved itself within the proposed 90 days; that time is shorter than NixOS's 180 days cadence, and lots of upstream software won't even make a point release within that time. Data: As of now there are 1750 open issues marked as stale, and 450 stale issues were marked as closed. It might make sense to accelerate the stale time if we were running out of stale issues to triage, but that isn't the case. For those nixpkgs contributors that have extra time and energy available, I recommend to triage some of the 1750, or to work on one of the 2500 non-stale issues. For the contributers that are already packed with work, it would be beneficial to not drive up bot notification spam by 2x. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I did see it linked as related in the RFC, and I just replied to that proposed change in NixOS/nixpkgs#100462 (comment), but I don't think it would change one's opinion on the RFC proposed here (which can be understood independent of the current / alternative bot text).
I don't follow the newly added conclusions: +One might think, that this increases the load of "spam" notifications on
+subscribers. However, the bot ifirst and foremost prompts and helps the author.
+Subscribers, most of the time, do not have the highest stakes in this interaction. I don't think this is the case. Most people are subscribers to an issue because they suffer from the same issue, and want to be notified when it's fixed. They would likely have filed it themselves, if somebody else hadn't done it yet. +the stalebot has not prompted any action on the
+vast majority of interactions. That means, the stalebot is pretty inefective
+(since ignored). No, it doesn't have to mean that.
+The most plausible root cause is that the stale bot promted
+after an inhumanely long period of time in which the interest of the proponent
+might have shifted That seems a lot less likely than any of the 3 reasons I gave above. Let's keep in mind: The key thing that moves issues forward is people writing code. That's how stuff gets done; hard work with significant time investment. Talking and pinging rarely speeds up or resolves issues. (Also, I should make clear, because the writing above reads harsh: I highly value any effort to make nixpkgs and its processes better. I don't think the proposed RFC is very effective at it though; I believe it would increase overheads and not increase the rate of progress.) |
This comment has been minimized.
This comment has been minimized.
resolved in the above commit
If a bot prompts the author, subscribers are not direct addressees of the bot. Can you propose a formulation that makes this clear? (I'll also try, since it seems to be misunderstood).
That would pretty much mean the bot is not actionable (it didn't trigger action), which is what we are trying to address in here.
Actionably adressed by 887785b — you forgive me the pointer. 😜
If so, due respect (in my stance) requires those group to ask for it (anew) instead of silently hoping for the best. Subscribers have constituing interests. The audience never is innocent. I guess you see the point. Under this light, I'd kindly ask you anew for #77 (comment).
With due respect, I consider you are misleading and framing people here and preempt them from a chance of a genuine and unbiased interpretation of this RFC. |
This comment has been minimized.
This comment has been minimized.
I'm strongly against this proposal.
Abusing sense of urgency might be fine in marketing, but is highly inappropriate for a open source project. Also, people who are working on an issue are not obligated to report their status weekly. This is not their daily job after all. And of course, we don't need a bot to tell us that a "conversation is stale". The bot was introduced to help people to close issues that are no longer relevant. And in this regard, ~450 closed issues is not bad at all. |
If a bot prompts the author, subscribers are not direct addressees of the bot. Can you propose a formulation that makes this clear? (I'll also try, since it seems to be misunderstood).
You get notifications for new comments in threads where you were mentioned, you have commented, your review has been requested, or you have subscribed. The former three are considered «updates in threads you participate».
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
No one goes to library for everyday practical needs, full stop. Curated collections a people's private ones. I would not bet on people preferring their closest library to have less things available, it's a cost issue, not the goal. (Of course, many people don't care what their library has because they mostly use it as an interface to inter-library loans, but that makes them users of meta-libraries, often spread enough to be effectively uncurated)
What is «too»? People who have done and continue to do a lot of work for Nix* have debated in finest details what workflows related to issues they prefer to use, and found a compromise that did not go too far from the preferences of the people involved |
The library issue is an excellent analogon to reason about this. It circles back to better issue labelling, of which the nix project could need a fair more share through triaging (by a human). Since that is not available, this RFC seeks to improve auto-triage. As if at the entrance of the library you would put somebody and he hands over a book to every visitor saying: Please judge if this should be in the first row, second row, third row, etc. Is it for children or is it scientific? etc. Applied to this RFC we could transpond: "Here is a book. Have a look, and then come back in 60 days instead of in 180 days and put it in the row." — bad comparision in most aspects, but one: mental cost of context switching. And by circumstance of very incomplete expressiveness common folks only have three states they can directly or indirectly influence:
(what a poor language) 😉 — it's like sitting in a car: you are limited to either flash light or honk or just feel go-cart-y
"Too" is when a third party cannot come to the same conslusion of balancing the tradeoffs even when trying really hard to (theleologically) take into account all the arguments. It means that a third party percieves an outcome to negatively suffer from a bias. Thanks you asked! It could have been interpreted in so many less constructive ways! Such third party, then labeles the percieved imbalance with "too". The third party might have corss checked their judgment with previous experiences in similar cirumstances (which I for one have). |
You need novel and heavy. As you noticed, this argument can also prompt a reaction «thanks for collecting the data, works as designed».
RFCs are intended to provide as much agility as possible… to inherently failure-prone process of building consensus of non-objection to some decision. And you are promoting overturning a hard-earned decision on an issue discussed to exhaustion. Yes, you need an argument heavy enough to plausibly shift the balance of a long negotiation. And also, by the way, using a dictionary as an argument has negative weight in my opinion. Basically, you are getting the things wrong way. We agreed on some behaviour, and slapped some random label on it. You can use a dictionary to argue that another label is much better. If you use a dictionary to argue from a pretty carelessly chosen label towards changing a pretty painfully negotiated behaviour, well, if it works, we have a larger problem. |
Agreed. So we can basically say:
If this is the prevailing stance (in my words), how can we bring about coordinated change, where a some parts are seemingly unweighty but in combination unfold their power towards greater goals? We cannot bring about changes in small steps, since they might not be heavy enough and we cannot proof the overarching goal is heavy enough since we cannot make the small steps. So how do we escape this evolutionary deadlock? (If I was advocating for it — which I am).
I think this is another input for amendments to this RFC. Thank you! But I would add:
I'm repeating myself, but this RFC argues for a change in behaviour on the bases of a (perceived) novelty. Clearly framing the semantics is a way to ease people into the arguments. Since as you see, most people are opposed because of contextual private (to the nix ecosystem) information (or rather interpretation). This very interpretation has it's own issue. We have a real problem when:
You see the point. I'm not sure how this is called, but it is codified language (the opposite of an open and welcoming environment). |
Offtopic> Please judge if this should be in the first row, second row, third row, etc.The absolute majority of entries in a work-oriented library are sorted by very very rough subdivision, then alphabetically. I guess if you only have fiction you can afford more extravagant approaches, but I hope no issues in our tracker are pure works of fiction.
See, trade-offs are trade-offs between preferences of different people. The arguments serve to explain the preferences and be able to negotiate about them. If some change makes my workflow inconvenient or annoying or whatever, it is both subjective (specific to me), but also absolutely impossible to fix by an argument that an alternative workflow I have tried and rejected is better. Everyone is an absolute authority on their preference among things they have already tried. And all of them are right, even though they do not agree. It is not bias, it is the actual hard work of negotiating trade-offs between values of different people. |
Spot on! Thanks! Except for:
A shorter time to first interaction has never been tried, as far as I know on the nix repositories. So that rises the questions are all arguments about an increase in unwanted notifications hypothetical? (I'm genuinely wondering and want to find out). It would be very unsatisfying if such thin grounds would be an argument supporting the lack of heaviness of this proposal. off-topicI'm a new breed. I get it. And if this is perceived basis enough for opposition, I can swallow it, too. 😉 As most have seen, this is not my first RFC, and I think I'm of best service if I don't keep it my last, every time I spot a noteworthy opportunity for improvement. 👍 |
Step one: find someone who has significant experience and also things it is a deadlock, and not a stable consenus with active users of whatever is being discussed mostly content. Failure might mean that this «deadlock» serves a purpose and fulfills it.
Nope, no novel arguments you provide are convincing.
Connotations are a thing. Yes, there are people who prefer «closed» to mean «no action useful». Yes, it is a valid and reasonable preference. No, it is not the only one.
No, you do not understand what was happenning, which is why your proposal will probably fail. The behaviour was discussed, negotiated, carefully debated. Then name… well, nobody cared enough to discuss it. This is the crucial difference.
Well, if stale-bot is the first interaction, then the issue is doomed for the time being. Might make sense to check if it got fixed by some refactoring in the next release, 180 days later. But stale-bot is not a complete workflow. It is an influence on various workflows people have.
We know what are the results of using stale-bot. Changing a parameter with pretty linear effects will lead to pretty predictable outcomes. |
This comment has been minimized.
This comment has been minimized.
Why do other communities come to different conclusions? And why do they have actionable responses rates to stale bots superior to our 20%? (Ok I just made that up. But from my interactions to kubernetes, it is at least my perception.) — Thin grounds. Sorry. If this claim proved to be true, does it mean that other communities make more efficient use of their resources? Does it then mean we have a surplus of resources so we can waste them by not fine tuning our workflows to the purported data? |
Having a well-defined scope distinct from «package like half the global open source ecosystem and make it work together on a new technical foundation» helps. Really, Nixpkgs has atypical pattern of relations between parts, and also has a relatively rare problem of «no, it is not a cheap action just to check if everything at least builds», and our domain experts are experts in areas too far apart… A lot of best practices are hard to translate.
Can we afford wasting the quality issues? Yes, in the sense that our bottlenecks are elsewhere. |
To conclude, the project might want to improve it's strategies and tactics to harness the resources (and wisdom) of the crowd in purposeful ways. This is an overarching goal, which in itself is very significant. This RFC is trying to fine tune workflows towards this goal, but in itself is controversial (thanks to RFC51) and by extension lacks the criterion of isolated significance. Since things start to move constructively into the direction of the above overarching goal, the best conclusion would be probably to leave this RFC around to allow people to reshape their opinions (or reinforce either way). Example motions of better harnessing the resources of the multitude:
@7c6f434c Thank you for the discussion! 👍 |
It might be that in a couple of days we find some opinions different in an interesting way (I mean, so far it is roughly ten opposing people, there are way more people interested in tooling) |
|
But interests are largely driven by need. And when you need something, you usually don't forget about it. I'm quite skeptical about encouraging people actions with bots. It works for answering “yeah, I don't have this problem anymore”. Beyond that, this is not working, it just annoys people.
I must say, this is a less common definition of “stale”. The more common are:
https://dictionary.cambridge.org/dictionary/english/relevant
Anyway, let's avoid dictionary debates. |
Exactly! Henceforth, if you forget about something, and leave it around stale, you just created a negative marginal external effect on somebody else that compunds quite heavily with a database of 4.4k open issues. Some of the arguments expressed against this RFC do actually reflect quite pointedly this compound negative effect ("spam", "annoying", "message burst"). It's safe to say, that some people use the negative effects of not doing something as arguments against trying do something against those negative effevts. That's partly a logical fallacy, if one agrees that attention is a scarce resource, and a runaway self perpetuing innefficiency (which nixos ecosystem should not afford!). Remeber, by the data there is still a 58% (63%) potential for spring cleanup to be lifted. Sure, we woudn't get this down to 0%, but if only to 20% that would reflect in more than 1k more issues properly archived (as in our librarian) instead of jamming the aisles.
Well, I think the evidence may speak against this: by my analysis in this RFC it "worked" for roughly 42% of interactions after a loooong period (problem of fading interest). The whole point of this RFC is to lower time to first interaction so that it actually gets less annoying & more relevant (as in "connected with what is happening or being discussed" — since concurrent with interests). Apart from only leaving a non incremental comment with the only purpose of un staling an issue, which is bad habit, as we established:
We also need to apprecaiate this RFC in the context in revising our label system with the goal of making it more effective. But that's a thing for another RFC. |
As a first collateral of this motion, there now is: It makes mentally parsing the stalebot's action a matter of milliseconds. In a few months, we can look again at the statistics if actionability has improved by it and account for if further action as proposed in this RFC can be considered as a non-zero-sum game (less so a negative sum game as even some people claimed). |
@Mic92 Is it possible to label this RFC dormant due to "further data gathering"? |
Like #74, would you like to close this until you're ready to proceed? |
Re: original topic: just have seen a comment today that stale bot existing is silly… |
@lheckemann Fully agree, if that's the process (which it seems to be). |
Based on: NixOS/nixpkgs#100460 (comment)
Rendered
Based on the first reactions and feedback, unfortunately, I have to clarify this:
2.status: *
category). This RFC does not address the expressiveness of the current label structure. It assume it needs improvement, but a general overhaul might be something for a different RFC.