I often observe that people that started a small open source project seem to abandon it sooner or later. I’m guilty of this myself in numerous cases. Reasons there are many probably, from new obligations in life to shifts in interest and whatnot.
At some point somebody comes by with an issue, or a merge request even, but the maintainer does not take care of it. Usually this ends up in forks, often though forks undergo the same fate. Apart from the immediate forks-jungle, stuff like software stores or other things might be hardlinked to the original repo, which means places like these end up with dead originals and a number of forks with varying degree of being maintained as well.
To me its just a sad situation overall. And yet I cannot find the time or motivation to maintain some stuff, because circumstances just changed. And I also do not think one is obliged to do so, just because they where nice enough to share their code when the project mattered to them.
Is there a better way? Usually these are very nieche projects, and there is not a circle of regularly active developers that could share administration of a repo, but rather a quiet one-man-show with a short timespan of incredible activity. Some kind of sensible failover mechanism once the original maintainer vanishes would probably be cool. Or any other way that introduces some redundancy in keeping a repository alive. You know how package maintainers in Linux distributions open their package(s) for adoption by somebody else if they run out of capacity? I think that is nice.
I will publish a small project soon I think, but somewhere in the future I fear to leave one or the other person frustrated again when I have moved on to other things…
Hot take, but the main issue is - developing a program requires programming skill. Shocker, I know. But think about it, a ton of people may be interested in “taking on” a project, but without being a programmer, nothing can come out of it, unless somebody takes care about the program so much they’re willing to fund development.
Is there a solution? Maybe soon we’ll have AI programming assistants good enough that even a non-programmer can do something useful with source code. At least temporarily keep the project alive with minor updates until someone more experienced comes along.
You know what grinds my gears more however? Rewrites. Whenever a small foss projects announces a complete rewrite, I consider it done, as it’s virtually certain it will be abandoned and the rewrite will never be finished. Seen that soo many times, it’s insane why people attempt it in the first place. Actually insane if the same thing keeps happening over and over and yet you expect different results…
Recently I’ve seen that NewPipe is getting a rewrite. While I have more trust in these guys than in some other projects, it’s time to look into alternatives.
In my experience if you don’t have solid code coverage and modularity your rewrites are doomed.
Unless you can merge as you go with code coverage ensuring stability it becomes a quagmire. 10k+ LOC PRs are impossible to vet.