Comment by ecshafer
1 day ago
Why? I really don't see the purpose of a federation of git repos. Git is already totally decentralized. 99% of projects only have a small list of committers. Tangled just doesn't solve an actual problem. Github was used because it was an easy to set up, free, place to store code and share it, and it had source viewing which was a step up from sourceforge. With multiple solutions available that makes this easy, its just not necessary to federate anything. The common user account part of github just isn't critical.
I run my own forge to host my code, because why not. You can clone my code and you can send me patches by mail. But if I want you to participate in discussions, stars, pr-review or all the fancy stuff that makes a forge more than just a hosted git-repo, I would have to give you an user on my forge. And maybe you or I dont want.
Discoverability. Without federation, people are pretty much dependant on GitHub to make sure their software gets out there.
How do you discover new software using GitHub? Let's say I want an RSS reader for Linux - how does GitHub help me find one? I must have never used this part of GitHub.
Github has search functionality and grouping of repos by topic, etc. So you can browse repos related to a specific topic. Or you can click on someone's profile and see the projects they've worked on and maybe one of them is interesting.
Github ranks higher on Google search.
There’s a lot more to GitHub than just the git part. Issues, PRs, etc.
Why does issues and prs need to be federated? I can't think of any part of Github that benefits from federation. Just set up your own instance.
They do if you want to collaborate with others. No one is going to want to create accounts on your personal instance
I think initiatives for forge federation are trying to do too much. When running a forge for a project, I'd don't want to be dealing with spam or large amounts of data from other instances. And people should be able to report bugs and upload attachments, without having to give permission to share those with other instances.
A good system to download and migrate issues and pull requests is important, but that doesn't require federation.
I would love to see a smaller scoped federation of:
Because we are headed into a world where attacks on project hosting are more common, and loss of issues/PRs can halt a project while setting up an alternative and attempting to restore archived information.
The attacks span from forged DMCA takedowns, to national blocking orders, to suspicion that a contributor is from a sanctioned country (whether they still live there or not), to rogue project admins, and some other more creative attacks.
Project infrastructure should be distributed, with copies of data in as many computers as possible, across as many jurisdictions as possible.
It's easier and enables more features to have 1 common platform.
For example, the social features of GitHub, which I like (like stars, browsing repositories by tags etc..)
But also For PRs, the way to make a pull request to a repo hosted at A, from your own node hosted at B.
And like other commenters said, you can do this workflow with git over email like a lot of projects to, but the main goal of the federation here to me is the user experience, the UI being able to link all of theses separate repositories, issues, PRs, etc, like everything was hosted at the same place.
One approach is to keep it all in git itself, the way GitSocial does: https://gitsocial.org/