There could not be a more opportune time to make a competitor to GitHub, especially one grounded in community and accountability. Git was not meant to be centralized; “pull requests” are not actually an open standard and throwing code over the wall at others is not actually social coding.
@anildash like Codeberg.org?
@boki came here to say this!

and tangled.sh ... there's a lot of interesting stuff happening, and hopefully this will lead to more momentum !

@boki @anildash

@anildash you didn’t ask but Codeberg/Forgejo exist and are already an alternative, if not the fully realised decentralisation story just yet, they’ll get there ✌️
@janl @anildash I've started using Codeberg in earnest and it's legit really good. tbh the only parts that are really lacking are the CI story (Codeberg doesn't have a massive amount of free resources to burn money on), and PRs aren't federated (yet! They're actively working on it! You'll eventually be able to, say, send PRs from Codeberg forks to Gitlab upstreams!)
@zkat @janl @anildash I'm extremely looking forward to federated forgejo

@zkat you can run runners on your workstation or any other machines you have access to!

@janl @anildash

@xyhhx @janl @anildash yeah, sure, but if you want something for an open source project where others can run jobs, you need to kinda figure out your own hosting and install the runner yourself, etc (plus pay for it)

@zkat @xyhhx @janl @anildash Right, and that makes sense. Solving this would be an astronomical problem because the only solution we’ve really figured out before is “infinity dollars from magic money” shaped. Or closed compute under a nonprofit funding structure.

Getting the latter setup is not trivial and many projects simply can’t afford it. Which sucks, but I don’t think a straightforward solution exists

@hazelweakly @xyhhx @janl @anildash I mean.

You can just pay for things.

I'm ok paying for things.

Tons of open source devs can scrape together a few greenbacks to pay for CI.

I think it's important to renormalize paying for shit that's worth money, rather than expecting everything to be free. lol

@zkat @xyhhx @janl @anildash Oh for sure, I’m not against that at all. Things should cost money and magic externalities don’t work.

But I don’t think a lot of projects are prepared for the sticker shock of finding out how much their free GitHub CI compute costs. Also much of our CI and build systems infrastructure over the last decade have optimized for stateless computational waste because it was all free. Fixing that isn’t trivial and the ripple effects might be fairly large. We’ll see!

But yes, I’m okay with paying for things. I just think a lot of people are gonna have sticker shock when they see the price tag of that :)

@hazelweakly @zkat @xyhhx @janl I can say with a lot more authority than most that many people really, really do not have a good grasp of how much compute costs at scale. Folks take for granted the massive amount of subsidy that is happening across the industry for a whole host of ordinary developer tasks.

@anildash the "at scale" part is the problem. people got spoiled with github marketplace (which, frankly, is a supply chain security nightmare)

m gonna say it again: people can run their own runners on a community instance for like <$10/mo - or hell, use sourcehut at $2/mo. the vast majority of what people are doing can be achieved with a few shell scripts

@hazelweakly @zkat @janl

@hazelweakly @zkat @xyhhx @janl @anildash This part is really important. Entire generations of developers learned that it doesn't matter if your CI jobs are wasteful because it was all free.
@kevin @hazelweakly @zkat @xyhhx @janl @anildash I've been told during code reviews that I should split my build and test steps into separate parallel jobs because it's cleaner... even if that means you wind up building twice. 🤷

@zkat you can have org-wide or project-wide runners as well for those too. setting up a runner is exceedingly easy, honestly

and even codeberg's instance runners are enough more often than not

the real thing forgejo lacks imo is job summaries. you could probably try to work around this with a bot account but then you really start broaching on "you should consider hosting your own instance"

@janl @anildash

@anildash I've been thinking of moving over to Codeberg for my personal projects. At work we're a bit entrenched in the Github CI system (as I'm sure was their plan all along) so it'll be ... a bigger project.

I saw somebody else mention Fossil, and it's certainly crossed my field of vision before. It looks kinda rad, and I also might just get weird with it and try using that because while git gets the job done it's ... so very very git.

@anildash I really hoped that the federated code collaboration stuff GitTea / @forgejo have been working on for years would be more widespread by now. Or even the Nostr stuff so we wouldn't need to tie identity to servers. https://nostrgit.org/

I'm personally working on migrating to https://radicle.xyz/

@anildash I maintain that pull requests are still a better UX than raw patches, but generally agree.

@anildash have you seen @Codeberg ?

There's also self-hosting options with @forgejo - which is working on federation for workflows not directly in git itself.

These may be the kind of things you're looking for.

@anildash Can you elaborate on

> “pull requests” are not actually an open standard and throwing code over the wall at others is not actually social coding

given `git am`? I know you know this stuff, but I don't follow. Is there a meaningful difference between pull requests and sending git patches to mailing lists?

@anildash don't forget that originally, you were supposed to use mailing lists instead of issues and PRs. Linux still uses this incredibly clunky workflow. GitHub, for the first time, replaced that with a sleek web UI that is actually practical to use. Before GitHub, the barrier to contributing to someone else's project was prohibitively high.
@anildash What we need is for #Forgejo to get the ActivityPub features and federation that we're waiting for. I wish I could do anything to help that other than spread the word. It would, at least the way it looks in my head, allow decentralised git (as it was meant to be) with much of the collaboration of the centralised platforms. And it would allow communities to form and interact also outside the "git silo", as you don't actually need to know/use Forgejo or similar in order to engage and contribute.

@anildash but there are plenty of decentralized communities with semiprivate @gitea instances…that’s what I mostly utilize. I’ve also heard of “fossil” but haven’t researched too much into it.

https://dev.to/schollz/self-hosting-with-fossil-an-alternative-to-git-33bk

Self-hosting with fossil, an alternative to git

fossil is an alternative to git that actually has built-in issues, wiki, and easily self-hosts. This is a quickstart to get started with hosting and cloning fossil repos.

DEV Community
Worktree

Worktree is a Canadian Git, DevOps, and Cloud platform. Collaborate on code, build with GitHub-compatible Actions, and deploy to Worktree Cloud.

Worktree

@anildash Git doesn't need Github.

If you want something to share code outside your circle of trust, Codeberg and Forgejo are places to start.

At this point, it is time to start self- hosting IP and not give your stuff away to sketchy corporations that have PROVEN themselves untrustworthy.

@anildash host your own   forgejo instance! And become federated soon 
@anildash oh, that's why I never do pull requests. Becaue I never understand what it is and how it works. Actually it does not work at all.
@anildash If you want to return to git being decentralized, then it sounds like its a good time not to make a competitor to GitHub. Just use git as it was intended, no need for a huge code forge to push everything through. Use email to share patches around. The tools still exist to have a good, decentralized experience.