I don't think we're anywhere close to the downfall of GitHub. It'll be a very slow decay.
The fact is, lots of people are very happy using AI tools, and most of those hook straight into GitHub. If AI is driving all this new code, it's only going to make moving away from GitHub more painful.
Businesses I've spoken to hate the idea of moving their code forge. Migrations like that suck and they're expensive. There isn't a meaningful differentiator between the other managed options, so the goal would just be to stand still. Unless GitHub's stability spirals fast I don't see a big wave of businesses leaving.
I say all this as someone who's been moving their code over to their own Forgejo instance. I'm all for more competition and fragmentation in this area, I just don't think it's happening soon.
I’m prob not the “average” user in this context (meaning that I am not a SWE or professional developer, but rather a code-curious sysadmin and consultant with too many hobbies), and I consistently use GitHub Copilot to write and push code to a self-hosted Forgejo…unless it’s a productive fork for contributing, or simply something I don’t want to take up space on my own server, anyway. I agree it’s likely to be a slow decay. GitHub is problematic, but it doesn’t summon the sort of white-hot resentment that pushed people to abandon other platforms en masse.
I am concerned that it will be much more difficult to discover FOSS projects with whatever the new regimes are, similar to how Discord has walled off a great deal of the discussion forums and collaborative groups.
> and most of those hook straight into GitHub. If AI is driving all this new code, it's only going to make moving away from GitHub more painful.
Anecdotal, but we've had success with gitea and having agents use "tea" (gh cli alternative) as a skill. If the cli tool you're asking it to use is similar enough it will use it instead of gh without any (major) issues.
I think this is true of github as a forge but it faces the threat of unbundling. Off the top of my head
- Code repository
- Project wiki
- Project roadmap/planning
- Static site hosting
- Issue tracking
- Internal and external contributions (PRs)
- Code review
- Cross platform CI pipelines/runners
- Release hosting
Of these key things, what is Github good at and how much can you improve by providing an alternative that's faster/cheaper/more robust?
Of these I think the only thing Github stays competitive at is "code repository." Everything else kinda sucks and/or is expensive and flaky.
Just as an example, there's that hilarious "just give me an EXE" Reddit post from a few years back. It's fun to laugh it given the state/purpose of Github but you can also look at that as a lost market for Github. Why can't you provide a nice landing page with downloads/installers in a very clean landing page for your project on GitHub? It could even be a premium feature if it means paying for storage/bandwidth.
And don't get me started on actions. Absolute trash tier product that they should be ashamed at the state of.
forge "fragmentation" is a good thing. git was meant to be decentralized from the start. re-centralizing on a single provider would just repeat the github saga all over again.
I upvoted because i agree with the message. Although, it would be much better if we could just have a single identity over those providers, just like we had with mailing lists.
From the point of view of "small open source project" I honestly have no idea what I would move to.
I happen to make, I think, $5/month in donations (thank you). According to GitHub's numbers, they offer me about $25/month in the product everyone likes to hate: Actions.
I could certainly cut costs if I had to (half the cost, certainly not half the value, is mac runners), but my projects are definitely in a better shape for having this.
I have found Forgejo’s actions to be functional for my own purposes, although rather incomplete compared with GitHub. That said, porting an action from GitHub to Forgejo was fairly easy the one time I was forced to do so.
It's a huge miss for this article to not talk about atproto, Tangled, and how protocols can solve the fragmentation issues - both between different services and by allowing projects to run their own host while being connected to the network.
With the atproto approach you don't have to worry about reserving usernames specifically for one forge or another - usernames are atproto handles, your Bluesky handle, custom domain, etc.
I'm not sure if Tangled itself is the right incarnation of these ideas, but a protocol for PRs, issues, forks, and activity is the right direction for the industry.
It doesn't even seem to mention federation over/with git and/or ForgeFed (https://forgefed.org/), both efforts predate both atproto and Tangled, and seems like a bigger miss considering the article is literally about git forges.
I think it's great people are working on it, but why reinvent the wheel? Radicle and Forgejo/Forgefed were already under way before starting Tangled. What would be a selling point that would justify breaking compat with existing solutions ? (to be fair, forgefed is largely unimplemented so far)
atproto apparently has some real advantages over ActivityPub in terms of data portability. Similar to Bluesky vs Mastodon, with Mastodon you're fairly strongly coupled to your server, you' can't just move your data and retain all your connections. atproto makes that possible, and that could be really important if you want to say move from a shared forge to a self-hosted one or vice versa.
atproto apps also tend to separate the PDS form the app view, so you can easily use the same data with different front ends.
And, atproto's identity model is much better. Rather than being tied to a server like the data, it's DID-based and you can use it with multiple PDSes.
That looks like a whole load of work. The thing thay is not defined is why I should do it.
Also forge are already fragmented. I use OpenBSD and the software in ports comes from all over the web. You got the forges, web links,… As far as collaboration go, you can always send an email to the person. Up to them to accept it. If I care that much, I will publish a blog post or share it via the community’s channel.
Those articles look like linkedin-style post to work on your brand or for some internet points.
I think these articles are meant for people who entered the developer ecosystem after GitHub became ubiquitous, because those developers basically only ever known GitHub, and some even see GitHub and Git as synonyms.
The rest of us who started developing before GitHub, or been around communities that self-host their infrastructure, we're already used with everything being spread all over the place, this place accepts patches via email, this one wants a URL to a pastebin containing the patch, others use GitLab, some the public service, others self-hosted, and so on.
I don't think this sort of article is for us, but for the former mentioned usergroup.
> this place accepts patches via email, this one wants a URL to a pastebin containing the patch
I for one would never contribute to a project that requires one of the above. I know some will shoot back with "but Linux!", but that's the exception that proves the rule.
I don't think we're anywhere close to the downfall of GitHub. It'll be a very slow decay.
The fact is, lots of people are very happy using AI tools, and most of those hook straight into GitHub. If AI is driving all this new code, it's only going to make moving away from GitHub more painful.
Businesses I've spoken to hate the idea of moving their code forge. Migrations like that suck and they're expensive. There isn't a meaningful differentiator between the other managed options, so the goal would just be to stand still. Unless GitHub's stability spirals fast I don't see a big wave of businesses leaving.
I say all this as someone who's been moving their code over to their own Forgejo instance. I'm all for more competition and fragmentation in this area, I just don't think it's happening soon.
I’m prob not the “average” user in this context (meaning that I am not a SWE or professional developer, but rather a code-curious sysadmin and consultant with too many hobbies), and I consistently use GitHub Copilot to write and push code to a self-hosted Forgejo…unless it’s a productive fork for contributing, or simply something I don’t want to take up space on my own server, anyway. I agree it’s likely to be a slow decay. GitHub is problematic, but it doesn’t summon the sort of white-hot resentment that pushed people to abandon other platforms en masse.
I am concerned that it will be much more difficult to discover FOSS projects with whatever the new regimes are, similar to how Discord has walled off a great deal of the discussion forums and collaborative groups.
> and most of those hook straight into GitHub. If AI is driving all this new code, it's only going to make moving away from GitHub more painful.
Anecdotal, but we've had success with gitea and having agents use "tea" (gh cli alternative) as a skill. If the cli tool you're asking it to use is similar enough it will use it instead of gh without any (major) issues.
> It'll be a very slow decay
Two ways. Gradually and then suddenly.
I think this is true of github as a forge but it faces the threat of unbundling. Off the top of my head
- Code repository
- Project wiki
- Project roadmap/planning
- Static site hosting
- Issue tracking
- Internal and external contributions (PRs)
- Code review
- Cross platform CI pipelines/runners
- Release hosting
Of these key things, what is Github good at and how much can you improve by providing an alternative that's faster/cheaper/more robust?
Of these I think the only thing Github stays competitive at is "code repository." Everything else kinda sucks and/or is expensive and flaky.
Just as an example, there's that hilarious "just give me an EXE" Reddit post from a few years back. It's fun to laugh it given the state/purpose of Github but you can also look at that as a lost market for Github. Why can't you provide a nice landing page with downloads/installers in a very clean landing page for your project on GitHub? It could even be a premium feature if it means paying for storage/bandwidth.
And don't get me started on actions. Absolute trash tier product that they should be ashamed at the state of.
forge "fragmentation" is a good thing. git was meant to be decentralized from the start. re-centralizing on a single provider would just repeat the github saga all over again.
Yeah, it's like lamenting the great food supply fragmentation.
But Soylent Green is widely available, cheap, and consistent!
I upvoted because i agree with the message. Although, it would be much better if we could just have a single identity over those providers, just like we had with mailing lists.
From the point of view of "small open source project" I honestly have no idea what I would move to.
I happen to make, I think, $5/month in donations (thank you). According to GitHub's numbers, they offer me about $25/month in the product everyone likes to hate: Actions.
I could certainly cut costs if I had to (half the cost, certainly not half the value, is mac runners), but my projects are definitely in a better shape for having this.
So: where do I get a better deal?
I have found Forgejo’s actions to be functional for my own purposes, although rather incomplete compared with GitHub. That said, porting an action from GitHub to Forgejo was fairly easy the one time I was forced to do so.
It's a huge miss for this article to not talk about atproto, Tangled, and how protocols can solve the fragmentation issues - both between different services and by allowing projects to run their own host while being connected to the network.
https://tangled.org/
With the atproto approach you don't have to worry about reserving usernames specifically for one forge or another - usernames are atproto handles, your Bluesky handle, custom domain, etc.
I'm not sure if Tangled itself is the right incarnation of these ideas, but a protocol for PRs, issues, forks, and activity is the right direction for the industry.
It doesn't even seem to mention federation over/with git and/or ForgeFed (https://forgefed.org/), both efforts predate both atproto and Tangled, and seems like a bigger miss considering the article is literally about git forges.
I think it's great people are working on it, but why reinvent the wheel? Radicle and Forgejo/Forgefed were already under way before starting Tangled. What would be a selling point that would justify breaking compat with existing solutions ? (to be fair, forgefed is largely unimplemented so far)
atproto apparently has some real advantages over ActivityPub in terms of data portability. Similar to Bluesky vs Mastodon, with Mastodon you're fairly strongly coupled to your server, you' can't just move your data and retain all your connections. atproto makes that possible, and that could be really important if you want to say move from a shared forge to a self-hosted one or vice versa.
atproto apps also tend to separate the PDS form the app view, so you can easily use the same data with different front ends.
And, atproto's identity model is much better. Rather than being tied to a server like the data, it's DID-based and you can use it with multiple PDSes.
That looks like a whole load of work. The thing thay is not defined is why I should do it.
Also forge are already fragmented. I use OpenBSD and the software in ports comes from all over the web. You got the forges, web links,… As far as collaboration go, you can always send an email to the person. Up to them to accept it. If I care that much, I will publish a blog post or share it via the community’s channel.
Those articles look like linkedin-style post to work on your brand or for some internet points.
I think these articles are meant for people who entered the developer ecosystem after GitHub became ubiquitous, because those developers basically only ever known GitHub, and some even see GitHub and Git as synonyms.
The rest of us who started developing before GitHub, or been around communities that self-host their infrastructure, we're already used with everything being spread all over the place, this place accepts patches via email, this one wants a URL to a pastebin containing the patch, others use GitLab, some the public service, others self-hosted, and so on.
I don't think this sort of article is for us, but for the former mentioned usergroup.
> this place accepts patches via email, this one wants a URL to a pastebin containing the patch
I for one would never contribute to a project that requires one of the above. I know some will shoot back with "but Linux!", but that's the exception that proves the rule.
And projects that want emailed patches might consider it a good filter for the sorts of contributors they want.
I think that's exactly why they keep their existing workflows :)
> I for one would never contribute to a project that requires one of the above.
They’re not exactly begging for your contribution, are they? It’s very much voluntary. They’re just stating how to communicate with them.
> The thing thay is not defined is why I should do it.
Most of the reasons seem to boil down to "X bad", where X is some combination of Github, Microsoft, America, and AI
[dead]