Awesome FOSS Logo
Discover awesome open source software
Launched 🚀🧑‍🚀

Automatically closing issues is violence

Git logo

tl;dr - If you clicked because of the title/description, you got jebaited (consider not falling for bait? I don’t know I fall for it too), but it’s not far off – this is a rant against using automation on F/OSS repositories to automatically close issues

I’ll keep this short (originally I considered doing a tongue-in-cheek woke culture roleplay thing) because I just made a breakthrough in some other yak shaving (the Kubernetes storage provider tests round 2 series of posts). What I want to say is:

Stop setting up automation to close issues after 30/60/90 days of no comments

I don’t know if it’s some KPI is on peoples’ dashboards that’s making them do this, or just annoyance with low quality issue reports (probably this), but can we stop setting up automation to close issues after X days of no comments? If there’s an issue filed against your repository there are three possible reasons that immediately jump to mind:

  • Your code is not good

  • Your documentation is not good

  • The person who filed is an idiot (and/or malicious), didn’t read any documentation, and wants to waste your time

Well what about the deluge of badly written issues?

I’m totally fine with non-valid issues getting marked as auto-closeable or even deleted right away. I know it takes to even look at a ticket but come on, a timed 30 seconds to see whether an issue is at least well documented/considered versus just “X is broken please fix” feels pretty light.

Auto-closed valid/unsolved issues and very annoying to come across. This is effectively sweeping problems under the rug and pretending that your F/OSS project is of higher quality than it actually is. This also destroys the quality signal of signal like an open/closed issue ratio – oh project P has 100 open issues versus 1000 closed? That’s outstanding, there has been a lot of work done in improving this project! Just kidding, actually 500 of those issues were auto-closed, so bugs are lurking everywhere. No one is perfect or has an endless amount of free time – you don’t have to fix the issue, just don’t set up automation to sweep it under the rug automatically. If the project is dead/not worked on often (which again, is fine), just let it look that way. If you’re getting anxious because of issues piling up, turn them off and you’ll feel better in no time, and people will understand (or some people may email you instead).

Yeah, but you’re some guy on the internet, F/OSS maintainers don’t owe you anything!

Fully agreed (with myself) here – none of the F/OSS authors and maintainers pouring blood sweat and tears into projects out there owe me anything, so this rant is indeed aimed at the clouds. That said, I wonder if this trend is actually more due to the recent proliferation of F/OSS done by corporations.

It feels like this trend has been accelerating in previous years – I can’t imagine most projects run without some weird seeminly KPI-driven motive (look how many stars we have, look how big our ecosystem is, look at how many potential customers our startup will have once it closes/restricts the source!). The incentives align until the companies boasting about how awesome their project is have to deal with people wandering in who haven’t read the documentation and just file issues for trivial things. Some small time (but very useful) projects are more marking themselves as “closed to contributions” and that is way better than this (case in point, Litestream).

So, what should be done?

If we need to do something about limiting bad (misformatted, low quality, etc) issues, then let’s do that. If we need to do something about limiting bad contributions (PRs that don’t pass tests, etc) to projects, then let’s do that via some sort of contributor gating features on GitLab/GitHub, but please, I don’t want to visit another issue that sounds like the one I’m having with your software and see that it was auto closed by a bot despite being relevant with no solution and seemingly no consideration by project contributors. If you don’t want to work on the issues for your project, then don’t – that’s fine. Please at least leave open the place (that you’re not paying for) that people can discuss the issue/bug and share approaches/history related to a certain bug.

I’m not going to name drop any projects that do this, but you should know one or two.

Let’s end with some hyperbole I guess: auto closing issues is morally bankrupt.

P.S. Is there a business worth running here? Some sort of mechanical-turk-like automated processing and categorization and early deletion of issues? I can already hear the AI hucksters writing up a business plan to sell to VCs, but maybe we can find the right incentives for regular people who just like a project and have some free time but don’t want to write code to do this.

P.S.S. Maybe we should consider doing some sort of contributor score & associated check? As in, to post an issue you need to have done something to prove you’ve read the documentation or deployed the thing or made a contribution in some other projects just to make sure you’re not a cretin? Just how bad is the idea of a “contributor score”?