> By the way, I'm not sure if something like a blockchain is necessary here. You could use a simple public key cryptosystem.
I think you're right public crypto is enough... i'm just applying blockchain unnecessarily.
I can see this working in a really nice way: right now people are dealing with "migrating" and having to choose to loose PR/issues starts etc that these platforms provide, all of that could be implicit to the repo with zero effort to use a different platform.
- Public crypto for repo authority (who can commit, who can merge PRs, who can manage issues etc - preferably more granularity than current platforms)
- A common Issues/PRs etc format is saved into the repo
- Hosts are networked, they sync repos with each other allong with any platform data... anyone can add (sync) a repo from github to gitlab without being the author (ownership is done by crypto not platform accounts, each platform/host would verify the repo content when syncing from some other host).
In other words, platforms like github and gitlab etc just become a viewport and a node in the network, like there are GUIs for git, github would be just another GUI for the collaboration protocols... at this point you could even do it offline with a headless server, the purpose of github/gitlab is to provide hosting and good UX etc. This would mean that a repo can simultaneously exist on any platform, there is no platform boundary, you could accept a PR from a user using gitlab on github... it wouldn't matter where they came from. Or if you hate all these platforms you can just use the cli and accept a PR from someone using these platforms (you would just need a public git host that the other host/platforms can sync with).
How the crypto integrates with the repo would have to be well thought out as it's essentially completely independent of platform accounts, anyone could locally clone the repo and attempt to push something to your public server (or a hosting platforms server on your behalf).