Ah, the smell of a Dominic thread on sunny Wednesday morning. So much to smell here. Politics, property, code, freedom, hashes. I don't know in what order to comment, so I'll just go random order.
I've thought about this a lot too, and @Kira and I briefly tried to do something called gitverse before I realized hahaha wtf I don't have time for all this. But the basic idea in that project was that forks should have 100x more role in open source maintenance than they currently do. Like currently GitHub (and GitLab and many others) hide the forks of a project somewhere deep in weird tabs, instead of putting it front and center. (e.g. one way would be to replace the "recent commit" link with "recent commit on any fork", which could open up a panel showing all forks)
In practice, what I've done is publish forks of npm libraries without blinking. I've done that many times, e.g. for
Another tool that has vastly helped open source "consumers" maintain their own shit without bitching in issues is
patch-package, I highly recommend it.
But going back to your topic, I think property is the heart of the problem. A package name on npm is property. Not in the legal sense, because it's not enforced by law (is it?), but it's at least enforced by npm's auth system. So it's property. And people have some kind of natural tendency to prefer "official" things, so they prefer to install
muxrpc instead of
@staltz/muxrpc, even though both are just names (property), and that kind of property is not scarce.
The other core problem is cultural. We live in a world of deep fried consumerism. When people approach anything that has a name, and which is not a person, they assume it's a service of some kind. It doesn't matter if the product or thing is free, because they got used to services like Google which do legit have customer support and come from a company who tries to work to satisfy users.
As long as we live in that world, it doesn't really matter what kind of novel system we come up with, people will still have those kinds of consumerist expectations when engaging with open source. I mentioned above that GitHub doesn't put forks front and center, and that's because GitHub users don't have that expectation, so it's not GitHub's fault directly, it's just what the world/market wants.
Computers are the most modern of technology... but why are we, working with computers, continually wrestling with the past? Everything is legacy
Because a vast majority of people are moderate conservatives who don't want things to change. Even among the dev community, soooooo many people just want to cling to the familiar.
End of post without a cohesive conclusion