TL;DR: People have different reasons for fixing old tools than they have for creating new tools. Instead of asking why new users don’t show up to fix existing tools, it might make more sense to ask what’s been keeping existing users from fixing problems with existing tools.
And, to help with anyone who would actually like to work on the improvement, why is it difficult to do, what approaches would you suggest, and how much time do you think it would take?
I’m not familiar with whatever backlog the popular software here has, but I’ve seen this same sort of discussion crop up in several software communities now. Here are some patterns I notice.
Difficulty getting old software updated can stem from any number of things:
-
Not open source; no available path for user contributions.
-
Distributed under a restrictive license that turns potential contributors away.
-
Maintainers are very slow to accept patches / pull requests.
-
Code is a mess, or targets outdated language version, or otherwise a maintenance headache.
-
Users generally not proficient in language / frameworks being used.
Those are just off the top of my head, I’m sure there are more. With projects that maintain an issue tracker, keep up with patch sumissions / pull requests (either accepting or rejecting them in a reasonable amount of time), keep up with changes in language, and has users interested in and capable of helping maintain the software, I haven’t seen these problems as nearly often.
But these contributions almost always come from people that are already using the tools and have identified problems that they want fixed, not by new users, who tend to be largely unfamiliar with existing problems with tools.
The exception to this is new users who show up because they found a problem with a tool and are seeking help with that (or already figured out a fix).
instead of making new development systems, they wish people would work on the older tools in maintaining and updating them.
Even if none of the problems on the list above exist, there are plenty of reasons why this doesn’t happen.
Making new things is more fun than maintaining old things. If people are doing it for fun, rather than because they have a problem with a tool they use, expect this.
New contributions can play with new ideas without worrying about past baggage. If the ideas work, existing tools can adopt them.
New contributions can put pressure on existing tools through friendly competition. If a new tool provides some features that a tool in closed development lacks, they may choose to adopt those features in order to keep their users. This can be a way to get features into tools that are in closed development. If the new tool is published under a non-restrictive license, the existing tools would be free to borrow code directly from the new tools.
In other words, lamenting time spent on new tools doing new things or doing old things in innovative ways, because it’s not time spent on maintaining old tools, could be short-sighted.
This is more about people who come into the community saying they want to improve everyone’s lives.
Does this actually happen? In my experience, new arrivals are unlikely to show up because they want to solve old problems with old tools. New arrivals to the community are less likely to be using the old tools. People who don’t use those tools are much less likely to start fixing problems with them.
And generally people don’t show up in new communities because they want to improve everyone’s lives. There’s some aspect of what the community is about that’s interesting to them, and they want to discuss it. Instead of expecting them to get to work fixing the existing toolset, maybe see if they can bring a different perspective instead.
Old tools are fixed out of necessity. New tools are created for any number of reasons besides necessity: just for fun, for personal enrichment, for the sake of experimentation. To people who are not using the old tools, fixing them is unnecessary. New users are less likely to be using the existing tools, so they’re less likely to be fixing them up.