I remembered today, and verified in my chat logs, that I was using the phrase "federated GitHub replacement" in 2010. Maybe in 2017, the year of federated everything, this is a thing we can have? At core I just want to be able to fork a repo from another site, have upstream be able to discover which forks exist, and perhaps be able to create cross-site pull requests.
@jamey it would be easy, as complex websites go, since git itself already works this way, all that has to happen is for someone to care enough to build it
@jamey yeah, or tbh it could even use the ostatus protocol and have servers auto-discover each other when you clone from one server to another. i wonder if you could also take the existing UI code from an open source github replacement like gitlab, and just build the federation stuff (which would be a relatively small piece of the complexity overall) into that
@jamey oh i never said it would be completely trivial, just that the federation wouldn't really be the hard part. github has steadily grown a lot of really useful features over the decade it's been a thing, and it would be painful to replace it with something that lacks the one you use
@morganastra I totally agree that such a thing should be designed as an incremental improvement for existing tools. If the design winds up being something that is technically difficult for GitHub/GitLab/et al to just add to their existing stuff, then it will fail. (I speculate that GitHub might still refuse to implement it for business reasons, but that's a very different problem!)
@morganastra I definitely think pull requests for GitLab, and probably cgit and the like as well, would be in order! Coercing GitHub themselves into implementing the spec would be a neat trick.
Integrating OStatus might be a good idea, but it seems a little weird to me that some of the events we care about ("new commit pushed", "new tag", etc) go via git protocol instead. Or would you duplicate the metadata in OStatus?
These are questions that make me think this isn't completely trivial 😅