2/17/2026 at 6:21:49 PM
Is this the start of a more frequent code-migrations out of Github?For years, the best argument for centralizing on Github was that this was where the developers were. This is where you can have pull requests managed quickly and easily between developers and teams that otherwise weren't related. Getting random PRs from the community had very little friction. Most of the other features were `git` specific (branches, merges, post-commit hooks, etc), but pull requests, code review, and CI actions were very much Github specific.
However, with more Copilot, et al getting pushed through Github (and now-reverted Action pricing changes), having so much code in one place might not be enough of a benefit anymore. There is nothing about Git repositories that inherently requires Github, so it will be interesting to see how Gentoo fares.
I don't know if it's a one-off or not. Gentoo has always been happy to do their own thing, so it might just be them, but it's a trend I'm hearing talked about more frequently.
by mbreese
2/17/2026 at 6:35:56 PM
I'm really looking forward to some form of federated forking and federated pull requests, so that it doesn't matter as much where your repository is.by JoshTriplett
2/17/2026 at 6:48:07 PM
For those curious, the federation roadmap is here: https://codeberg.org/forgejo-contrib/federation/src/branch/m...I'm watching this pretty closely, I've been mirroring my GitHub repos to my own forgejo instance for a few weeks, but am waiting for more federation before I reverse the mirrors.
Also will plug this tool for configuring mirrors: https://github.com/PatNei/GITHUB2FORGEJO
Note that Forgejo's API has a bug right now and you need to manually re-configure the mirror credentials for the mirrors to continue to receive updates.
by holysoles
2/17/2026 at 7:17:45 PM
GitLab has been talking about federation at least between instances of itself for 8+ years: https://gitlab.com/groups/gitlab-org/-/epics/16514Once the protocols are in place, one hopes that other forges could participate as well, though the history of the internet is littered with instances where federation APIs just became spam firehoses (see especially pingback/trackback on blog platforms).
by mikepurvis
2/18/2026 at 2:24:20 PM
Gitlab has also indicated not to be interested as a company to develop this themself, and esp. not given all the other demands they get from their customer base. The epic you refer to had been closed for this reason, but was later reopened for the sake of the community. For there to be federation support in self-hosted Gitlab instances, a further community effort is needed, and right now AFAIK no one is actively working on any ActivityPub related user stories.by rapnie
2/17/2026 at 7:09:34 PM
I use GitHub because that's where PRs go, but I've never liked their PR model. I much prefer the Phabricator/Gerrit ability to consider each commit independently (that is, have a personal branch 5 commits ahead of HEAD, and be able to send PRs for each without having them squashed).I wonder if federation will also bring more diversity into the actual process. Maybe there will be hosts that let you use that Phabricator model.
I also wonder how this all gets paid for. Does it take pockets as deep as Microsoft's to keep npm/GitHub afloat? Will there be a free, open-source commons on other forges?
by bsimpson
2/18/2026 at 6:09:12 AM
Unless I misunderstood your workflow Forgejo Agit approach mentioned in OP might already cover that.You can push any ref not necessarily HEAD. So as long as you send commit in order from a rebase on main it should be ok unless I got something wrong from the doc?
by Twisell
2/17/2026 at 8:32:16 PM
Personally, I'd like to go the other way: not just that PRs are the unit of contribution, but that rebased PRs are a first-class concept and versioning of the changes between entire PRs is a critical thing to track.by JoshTriplett
2/19/2026 at 11:40:31 AM
This is coming to GH soonish. Some clunky alpha version of this UI has been shared on the bad social site. (First class rebasing / stacked PRs)by viraptor
2/17/2026 at 10:50:17 PM
> and be able to send PRs for each without having them squashedCan't you branch off from their head and cherry-pick your commits?
by debugnik
2/17/2026 at 11:08:49 PM
That's effectively what I do. I have my dev branch, and then I make separate branches for each PR with just the commit in it. Works well enough so long as the commits are independent, but it's still a pain in the ass to manage.by bsimpson
2/18/2026 at 11:49:03 AM
That’s the trick in your system — all commits have to be completely independent. Generally mine aren’t, so unless we want to review each minor commit, they get squashed.I can see merit in your suggestion, but it does require some discipline in practice. I’m not sure I could do it.
by mbreese
2/18/2026 at 8:15:45 AM
Perhaps I'm missing something... If your commits are not all independent - I don't see how could they ever be pulled/merged independently?by techcode
2/18/2026 at 10:25:36 PM
The way Gerrit handles this is to make a series of PR-like things that are each dependent on the previous one. The concept of "PR that depends on another PR" is a really useful one, and I wish forges supported it better.by JoshTriplett
2/17/2026 at 11:23:31 PM
I just want a forge to be able to let me push up commits without making a fork. Do the smart thing for me, I don't need a fork of a project to send in my patch!by rtpg
2/18/2026 at 5:26:47 AM
This is supported on Codeberg (and Forgejo instances in general) via the "AGit workflow", see https://forgejo.org/docs/latest/user/agit-support/by kwk1
2/18/2026 at 2:10:21 AM
Agreed. I assume there are reasons for this design choice though?by jamesfinlayson
2/18/2026 at 11:14:55 AM
Presumably, the reasons are that it inflates the number of repositories, which is useful when showing numbers to investors.by xigoi
2/18/2026 at 3:47:53 PM
Right. GitHub started as and still is that "social coding platform" from 2008 inspired by the then-novel growth hacking of that era understood and demonstrated by Facebook—where it wasn't enough to host, say, your user's LiveJournal blog, and their friends might sign up if they wanted, and that was that. No, rather, you host your users' content but put it inside a closed system where you've erected artificial barriers that make it impossible to do certain things unless those friends are actively using the platform, too.GitHub could have been project hosting and patch submission. It's the natural model for both the style of contributions that you see most on GitHub today and how it's used by Linux. (Pull requests are meant for a small circle of trusted collaborators that you're regularly pulling from and have already paid the one-time cost to set up in your remotes—someone is meant to literally invoke git-pull to get a whole slew of changes that have already been vetted by someone within the circle of frequent collaborators—since it is, after all, already in their tree—and anyone else submits patches.) Allowing simple patch submission poses a problem, though, in that even if Alice chooses to host projects on GitHub, then Bob might decide Gitorious is better and host stuff there even while remaining friendly and sending patches to Alice's GitHub-hosted project. By going with a different, proprietary pull request system and forcing a clunky forking workflow on Alice and Bob, on the other hand, you can enforce where the source of the changes are coming from (i.e. another repo hosted on GitHub). And that's what they did.
by cxr
2/18/2026 at 12:02:20 PM
I’m speculating here, but I think this is at least a plausible explanation. There is no guarantee that the pull request will be accepted. And the new commit has to live somewhere. When you require a fork, the commit is stored in the submitter’s version. If you don’t require the fork, the commit is stored somewhere in the main project repository. Personally, this is something I’d try to avoid.I don’t know how the Agit-flow stores the commit, but I assume it would have to be in the main repo, which I’m happy to not be used for random PRs.
Requiring forks makes it more convoluted for simple quick pushes, but I can see why it would be done this way.
I suspect the real answer is that’s the way Linux is developed. Traditionally, the mai developers all kept their own separate branches that would be used track changes. When it was time for a new release, the appropriate commits would then be merged into the main repository. For large scale changes, having separate forks makes sense — there is a lot to track. But, it does make the simple use-case more difficult. Git was designed to make the complex use-cases possible, sometimes at the expense of usability for simpler use cases.
by mbreese
2/17/2026 at 7:22:28 PM
I would love git-bug project[1] to be successful in achieving that. That way Git forges are just nice Web porcelain on top of very easy to migrate data.by okanat
2/18/2026 at 3:53:57 AM
That's kind of the way Tangled works, right? Although it's Yet Another Platform so it's still a little bit locked in...by angus-g
2/17/2026 at 7:23:02 PM
So... git's original designby pocksuppet
2/17/2026 at 7:57:12 PM
No. Git is not a web-based GUI capable of managing users and permissions, facilitating the creation and management of repositories, handling pull requests, handling comments and communication, doing CI, or a variety of other tasks that sites like Codeberg and Forgejo and GitLab and GitHub do. If you don't want those things, that's fine, but that isn't an argument that git subsumes them.by JoshTriplett
2/17/2026 at 8:17:44 PM
Git was published with compatibility with a federated system supporting almost all of that out of the box - email.Sure, the world has pretty much decided it hates the protocol. However, people _were_ doing all of that.
by shakna
2/17/2026 at 8:35:43 PM
People were doing that by using additional tools on top of git, not via git alone. I intentionally only listed things that git doesn't do.There's not much point in observing "but you could have done those things with email!". We could have done them with tarballs before git existed, too, if we built sufficient additional tooling atop them. That doesn't mean we have the functionality of current forges in a federated model, yet.
by JoshTriplett
2/17/2026 at 9:55:03 PM
`git send-email` and `git am` are built into Git, not additional tools.by greyface-
2/17/2026 at 10:26:11 PM
That doesn't cover tracking pull requests, discussing them, closing them, making suggestions on them...Those exist (badly and not integrated) as part of additional tools such as email, or as tasks done manually, or as part of forge software.
I don't think there's much point in splitting this hair further. I stand by the original statement that I'd love to see federated pull requests between forges, with all the capabilities people expect of a modern forge.
by JoshTriplett
2/18/2026 at 1:24:26 AM
I think people (especially those who joined the internet after the .com bubble) underestimate the level of decentralization and federation coming with the old-school (pre web-centric mainframe-like client mentality) protocols such as email and Usenet and maybe even IRC.Give me “email” PR process anytime. Can review on a flight. Offline. Distraction free. On my federated email server and have it work with your federated email server.
And the clients were pretty decent, at running locally. And it still works great for established projects like Linux Kernel etc.
It’s just pain to set up for a new project, compared to pushing to some forge. But not impossible. Return the intentionality of email. With powerful clients doing threading, sorting, syncing etc, locally.
by qdotme
2/18/2026 at 1:39:43 AM
I'm older than the web. I worked on projects using CVS, SVN, mercurial, git-and-email, git-with-shared-repository, and git-with-forges. I'll take forges every time, and it isn't even close. It's not a matter of not having done it the old way, it's a matter of not wanting to do it again.by JoshTriplett
2/18/2026 at 5:12:25 PM
I guess we might have opposite experiences. Part of which I understand - the society moved on, the modern ways are more mature and developed… but I wonder how much of that can be backported without handing over to the centralized systems again.The advantage of old-school was partially that the user agents, were in fact user agents. Greasemonkey tried to bridge the gap a bit, but the Web does not lend itself to much user-side customization, the protocol is too low level, too generic, offering a lot of creative space to website creators, but making it harder to customize those creations to user’s wants.
by qdotme
2/18/2026 at 4:24:49 PM
I'm older than the trees, but, younger than the mountains! Email all day, all the way. Young people are very fascinated and impressed by how much more I can achieve, faster, with email, compared with their chats, web 3.0 web interfaces, and other crap.Yes, it takes time to learn, but that is true for anything worthwhile.
by abc123abc123
2/18/2026 at 4:48:30 AM
What I like about git-and-email-patches is the barrier to entry.I think it's dwm that explicitly advertises a small and elitist userbase as a feature/design goal. I feel like mailing lists as a workflow serve a similar purpose, even if unintentionally.
With the advent of AI slop as pull request I think I'm gravitating to platforms with a higher barrier to entry, not lower.
by stackghost
2/17/2026 at 11:24:43 PM
What is a forge? What is a modern forge? What is a pull request?There is code or repository, there is a diff or patch. Everything else your labeling as pull request is unknown, not part of original design, debatable.
by heliumtera
2/17/2026 at 11:44:07 PM
Sorry to hear that you don't see the value in it. Many others do.by JoshTriplett
2/18/2026 at 12:14:07 AM
It's not what I meant.GitHub style pull request is not part of the original design. What aspects and features you want to keep, and what exactly you say many others are interested in?
We don't even know what a forge is. Let alone a modern one.
by heliumtera
2/18/2026 at 3:09:09 PM
Have you seen https://tangled.org/by Duplicake
2/17/2026 at 7:33:10 PM
Coincidentally, my most-used project is on Codeberg, & is a filter list (such as uBlock Origin) for hiding a lot Microsoft GitHub’s social features, upsells, Copilot pushes, & so on to try to make it tolerable until more projects migrate away <https://codeberg.org/toastal/github-less-social>.by toastal
2/17/2026 at 7:07:39 PM
Arch Linux have used their own gitlab instance for a long time (though with mirrors to GitHub). Debian and Fedora have both run their own infra for git for a long time. Not sure about other distros. I was surprised Gentoo used GitHub at all.Pretty sure several of these distros started doing this with cvs or svn way back before git became popular even.
by VorpalWay
2/18/2026 at 6:24:11 AM
Both GitHub and now Codeberg are mirrors of a self-hosted cgit repository of Gentoo.by Pay08
2/17/2026 at 7:30:42 PM
I mean, gitlab is only from ~2019.The first hit I could find of a git repository hosted on `archlinux.org` is from 2007; https://web.archive.org/web/20070512063341/http://projects.a...
by Foxboron
2/17/2026 at 10:06:26 PM
Gitlab started in 2011. Which, granted, is still after 2007.by mburns
2/18/2026 at 1:28:23 PM
Many companies were using commercially licensed Gitlab in 2017 already, so it must have been established before that time. Definitely not in 2019by kunley
2/17/2026 at 7:54:21 PM
I really like @mitchellh perspective on this topic of moving off GitHub.---
> If you're a code forge competing with GitHub and you look anything like GitHub then you've already lost. GitHub was the best solution for 2010. [0]
> Using GitHub as an example but all forges are similar so not singling them out here This page is mostly useless. [1]
> The default source view ... should be something like this: https://haskellforall.com/2026/02/browse-code-by-meaning [2]
[0] https://x.com/mitchellh/status/2023502586440282256#m
by tiffanyh
2/17/2026 at 9:06:35 PM
Person who pays for AI: We should make everything revolve around the thing I pay forby Starlevel004
2/18/2026 at 12:49:01 AM
The amount of inference required for semantic grouping is small enough to run locally. It can even be zero if semantic tagging is done manually by authors, reviewers, and just readers.by nine_k
2/18/2026 at 8:39:59 AM
Where did "AI for inference" and "semantic tagging" come from in this discussion? Typically for code repositories - AIs/LLMs are doing reviews/tests/etc, not sure what/where semantic tagging fits? Even do be done manually by humans.And besides that - have you tried/tested "the amount of inference required for semantic grouping is small enough to run locally."?
While you can definitely run local inference on GPUs [even ~6 years old GPUs and it would not be slow]. Using normal CPUs it's pretty annoyingly slow (and takes up 100% of all CPU cores). Supposedly unified memory (Strix Halo and such) make it faster than ordinary CPU - but it's still (much) slower than GPU.
I don't have Strix Halo or that type of unified memory Mac to test that specifically, so that part is an inference I got from an LLM, and what the Internet/benchmarks are saying.
by techcode
2/18/2026 at 2:12:30 AM
The stuff he says in [1] completely does not match my usage. I absolutely do use fork and star. I use release. I use the homepage link, and read the short description.I'm also quite used to the GitHub layout and so have a very easy time using Codeberg and such.
I am definitely willing to believe that there are better ways to do this stuff, but it'll be hard to attract detractors if it causes friction, and unfamiliarity causes friction.
by resonious
2/17/2026 at 11:22:05 PM
I really don't get this... like you're a code checkout away from just asking claude locally. I get that it is a bit more extra friction but "you should have an agent prompt on your forge's page" is a _huge_ costly ask!I say this as someone who does browse the web view for repos a lot, so I get the niceness of browsing online... but even then sometimes I'm just checking out a repo cuz ripgrep locally works better.
by rtpg
2/18/2026 at 1:05:10 AM
This looks like a confusing mess to me.by hparadiz
2/17/2026 at 8:23:47 PM
for [1] he's right for his specific use casewhen he's working on his own project, obviously he never uses the about section or releases
but if you're exploring projects, you do
(though I agree for the tree view is bad for everyone)
by blibble
2/17/2026 at 9:29:58 PM
I also check for the License of a project when I'm looking at a project for the first time. I usually only look at that information once, but it should be easily viewed.I also look for releases if it's a program I want to install... much easier to download a processed artifact than pull the project and build it myself.
But, I think I'm coming around to the idea that we might need to rethink what the point of the repository is for outside users. There's a big difference in the needs of internal and external users, and perhaps it's time for some new ideas.
(I mean, it's been 18 years since Github was founded, we're due for a shakeup)
by mbreese
2/18/2026 at 4:45:48 AM
Hrm. Mitchell has been very level-headed about AI tools, but this seems like a rare overstep into hype territory."This new thing that hasn't been shipped, tested, proven, in a public capacity on real projects should be the default experience going forwards" is a bit much.
I for one wouldn't prefer a pre-chewed machine analysis. That sounds like an interesting feature to explore, but why does it need to be forced into the spotlight?
by crabmusket
2/17/2026 at 10:15:20 PM
Crazy... https://github.com/ghostty-org/ghosttyby bastardoperator
2/18/2026 at 2:06:57 AM
Oh FFS. Twitter really brings out the worst in people. Prefer the more deeply insightful and measured blog posting persona.by Rapzid
2/18/2026 at 12:03:49 AM
Aren't they literally moving off GitHub _because_ of LLMs and the enshittification optimising for them causes? This line of thinking and these features seem to push people _off_ your platform, not onto it.by pojntfx
2/17/2026 at 8:00:23 PM
I would say started with Zig.For us Europeans has more to do with being local that reliability or copilot.
by jruz
2/17/2026 at 7:18:42 PM
>code-migrations out of GithubI hope so. When Microsoft embraced GitHub there was a sizeable migration away from it. A lot of it went to Gitlab which, if I recall correctly, tanked due to the volume.
But it didn't stick. And it always irked me, having Microsoft in control of the "default" Git service, given their history of hostility towards Free software.
by encom
2/18/2026 at 12:39:46 PM
At the time I (and many others) had a much more positive view of Microsoft. In 2018 Nadella was bringing a lot of positive change to Microsoft. The release of VSCode and WSL among the more visible trends that signaled a new direction. A world in which Microsoft wasn't the preferred owner of Github, but could at least be a good steward and an open-source friendly company.Now in 2026 things look different. While the fears that Microsoft would revert to 90s Embrace, Extend, Extinguish mostly haven't come to pass, their products are instead all plagued by declining quality and stability, and a product direction that seems to willfully ignore most of the user base
by wongarsu
2/18/2026 at 4:51:39 AM
And the forks network display.Find a project, find out if it's the original or a fork, and either way, find all the other possibly more relevant forks. Maybe the original is actually derelict but 2 others are current. Or just forks with significant different features, etc. Find all the oddball individual small fixes or hacks, so even if you don't want to use someone's fork you may still like to pluck the one change they made to theirs.
I was going to also say the search but probably that can be had about the same just in regular google, at least for searching project names and docs to find the simple existence of projects. But maybe the code search is still only within github.
by Brian_K_White
2/17/2026 at 8:37:16 PM
I moved one of my projects from Github to codeberg because Github can't deal with sha256 repositories, but codeberg can.by kpcyrd
2/17/2026 at 8:03:45 PM
I hope so. Ever since Trump and the US corporations declared software-war against Europeans, I want to reduce all dependencies on US corporations as much as possible. Ideally to zero. Also hardware-wise. This will take a long time, but Canadians understood the problem domain here. European politicians still need to understand that Trump and his cronies changed things permanently.by shevy-java
2/18/2026 at 1:18:09 PM
No, the start was a lot time ago.by ori_b
2/18/2026 at 3:25:17 AM
It might also be a reflection of the number of frequent outages of GitHub under Microsoft recently and GitHub Copilot pushby sathish316
2/18/2026 at 2:33:11 AM
It's been going on for a while. Recent AI craze just accelerates it.by shmerl
2/18/2026 at 12:42:28 PM
Yes, you are right. I read a lot about European FOSS projects (and my own blog is member of a planet for german Foss articles). Migrating away from github has been a topic for a while in that scene now. First just because github is not Foss, then accelerated because of Microsoft, and Microsoft now mismanaging Github with ai bullshit accelerated it even more. Plus the push for independence of us services, Trumps imperialism is a big factor as well.So absolutely not the start of the movement, but it seems to be accelerating more and more.
by onli