"Needing a refresh" incentivizes the wrong behavior
Hi there! Thanks for making ClickPy, I think it's a really great visualization.
I was looking at the homepage, and I noticed that you describe projects as "Needing a refresh":
As an open source maintainer (and someone with firsthand knowledge of the stability of a good chunk of these projects): could you please avoid this kind of framing? I think is does two injustices:
- It incentivizes open source maintainers (mostly unpaid, volunteer hobbyists) to push releases and changes where none are required, which both contributes to burnout and proliferates versions/release distributions where none are required.
- It implies that stable, low-activity projects are less maintained or of lower quality because they don't require continuous release activity. Or in other words: it punishes projects for being in the ideal end state of software, where changes are small and infrequent due to the project's completion and quality.
I don't think you intended these negative framings, but I think this is how something like "needs a refresh" is frequently interpreted as a negative signal about a package's quality or maintenance status.
As an alternative, please consider removing this panel or, at a minimum, remove the normative language around stable projects "needing" refreshes.
I agree. No updates are ok when the project is stable. Often, it is even better.
On top of the bad incentives here, it looks like the data itself is wrong:
urllib3says last released 18-Feb-2024, but it was last released 22-Dec-2024setuptoolssays 13-Mar-2024, but it was last released 08-Jan-2025 (yesterday)
and so forth.
We will address this in early Feb.
Renamed to stable packages https://github.com/ClickHouse/clickpy/pull/151
Thanks a lot for the change ❤️. As an open-source maintainer myself, I could not agree more with the top comment.
Side-comment about the context: I was trying to show how metrics can be misused for wrong incentives and remember this "need refresh" wording. So now I will have to find another example, which should not be too hard 😅.