I wonder if there's a place for something like matrix, but for repositories (or maybe matrix protocol can handle that?). A world where we have selfhosted, saas, etc, but all interlinked and searchable? Say I find a project on gitlab, I want to contribute to, I checkout to my personal server (or someone elses hosted), and raise a pr back to original repo.
I know it doesn't answer your question, just thinking aloud really.
Some alternative forge are built with decentralization in mind:
- forgejo [1] is working on ForgeFed [2], an extension of ActivityPub (the protocol made popular by Mastodon)
- tangled is built on top of ATproto (the protocol behind Bluesky) [3]
- radicle is rolling their own protocol, more peer-to-peer than federated [4]
- fossil is a broader all-in-one solution: not only a new Version Control System (a replacement for git), but also a forge (has the features of a forge: issues (bug-tracking), PRs, comments, wikis, ...) [5]
The other self-hosted forges such as gitlab, sourcehut, gitea don't have such a high level of decentralization and resilience. It does not make them less good, they are solving different problems, mainly being a easy-to-use self-hosted alternative to proprietary forges. For instance Gitea has Gitea Actions, which is designed to be compatible with GitHub Actions [6], while I don't think running CI/CD workflow in a decentralized way will the priority of projects like tangled or radicle.
This would be best, though it's a big ask, when everyone has gone from self hosting plus a sprinkling of cloud services, to only cloud services and no remembrance of how to self host.
I used to run a git server for all my main projects, and mirrored public ones on GitHub. Then the convenience of GitHub lured me in, to the point I shut down my private git server 5 years ago.