Where do you keep Issues, Pull Requests, Wikis, Discussions, project boards, and everything else? (rhetorical question.)
These days, the problem with cloud-hosted Git platforms is not where to push your code. Replicating repositories across multiple providers is relatively easy, and Git has always been good at that. The harder problem is that successful teams end up accumulating a lot more than source code around their repositories, and much of that information becomes just as important as the code itself.
Bug reports, feature requests, documentation, design discussions, code reviews, project planning, CI/CD configuration, and years of historical context all tend to live inside platforms such as GitHub. While the Git repository itself is portable, all of that surrounding data is often much harder to migrate cleanly, especially if a team has built workflows and integrations around a particular provider.
That, in my view, is one of the main reasons so many companies are heavily dependent on GitHub. Moving the code elsewhere is usually straightforward; moving the entire development process, with all of its history, metadata, and institutional knowledge, is not. When GitHub goes down, the question is often less about where you can push your next commit and more about how easily you can recreate the rest of the environment that your team relies on every day.
(I upvoted you, for asking the real questions, but to answer)
> Where do you keep Issues,
Youtrack
> Pull Requests,
Gerrit, it's way better for code review
> Wikis,
Also Youtrack, but other software exists that's specific for this, I have seen Confluence used a lot and while I don't recommend: that's usually the case.
> Discussions,
As far away from code as possible, right now it's Zulip
> project boards,
Youtrack, though usually in companies they use Jira for this.
> and everything else? (rhetorical question.)
In proper tools that are designed to solve a specific need, not try to do everything: badly.
--
Now, a sane person will respond to me with the fact that I haven't removed any single points of failure, I've actually just added more of them. They'd be right! The differences is that it makes the stack a bit more flexible and composable. Migration of, say, the Wiki, doesn't make major issues because it's already somewhat decoupled.
None of those might be perfect, but at least people are trying. Even something like Gitea and other forges that you can host yourself have support for most of the basic functionality you'd expect.
However, If we ever wanted a setup where it's easy to mirror rather than import stuff, we'd probably want to look in the direction of storing everything in folders within the repo, e.g. a file/folder for every issue, for every Wiki page etc. Most of the mirroring seems to only concern the repo itself, not the stuff around it, for example: https://docs.gitlab.com/user/project/repository/mirror/
What's the purpose of using EC2 over something much cheaper, like OVH, digitalocean, or Hetnzer?
Usually the argument is for scalability, but a single VM for personal use doesn't need that, and even if you do want that, you'll need more than a bare repo.
I also built a convenient CLI tool to switch identities on a per-repository basis. [1] [2] ...which makes working in enterprise environments much easier, as I can just have separate identities/keypairs for each customer.
Somehow I never knew that you can have multiple push URLs for a single remote. Thank you for sharing this, I've been manually pushing to two remotes with a script for years!
It is targeted at tech literate people who obviously know about reader's mode, that they can load a custom css or not even load a css and set the font and size of their choice from their web client.
The fact that companies request you to star them on GitHub and the stars can be bought tells you that there is a value in these stars. [2]
Now, some astute reader, who thinks the $1 trillion global advertisement market does not influence them, will also claim that they don't care about GitHub stars.
Well, that's not how the world works.
Fake stars can propel a good project to great.
A lot of people will use GitHub stars as a currency to decide the importance of certain FOSS (or even open-core) projects.
I'm thinking like "you had 200 GitHub stars before coming to us so we start you with 200 stars" as a migration process. maybe they wouldn't be as reputable but everyone knows it's gamed anyway, so why not?
> I'm thinking like "you had 200 GitHub stars before coming to us so we start you with 200 stars" as a migration process. maybe they wouldn't be as reputable but everyone knows it's gamed anyway, so why not?
Copy the same way people can star projects to the new platform too, but maybe allow people to buy them directly from you to cut out the middleman. It could be very efficient.
What happened to hacker culture? Did everyone (or enough) just sell out?
It’s fascinating to me that the people who know the most about tech keep deciding over and over to give something to some corporation and inevitably it becomes an issue. I guess ease of use and freemium really trumps everything; I expect more from smart people but money talks.
I am self hosting forgejo on my synology NAS. It is easier than it looks. Synology provides me access from the internet so I do not need static IP address. It took me at most 20 minutes to write (copy paste) docker compose file to make it run and another hour to import repositories from github and gitlab. Only maintenance I do is update to new version once a while which takes about 5 minutes. You can set it up to sync repositories back to code forges.
If you do not have a lot of users you can easily set it up too.
Codeberg and Gitlab exist though. The problem is the inertia. Tons of repositories in GitHub from way before MS acquired them, which makes most people use GitHub, which makes most software projects choose GitHub.
Heck, GH Stars are used as a vanity metric for a lot of projects.
I saw a thumbnail on Youtube that said "GitHub is killing open source" and I think the sheer wrongness of the statement surmises the entire idea very well.
There are many things that I don't like about Github, but I think the most important one is that Github doesn't allow users to have multiple free accounts.
You can create as many accounts as you want on Reddit, have as many blogs as you want on Tumblr, and even create multiple personae on Facebook on a single account, but Github doesn't allow you to do any of that.
You can't be a "hacker" platform when you give users less control over their privacy than Facebook provides.
I assume that is a bigger problem when you consider everyone decided to stop hosting their own forum and moving all their discussion to Github issues and Github's built-in forum.
> Github does not expose a public bug list or any issues page, hiding their problems deep in email chains
Which email chains is this referring to? GitHub/community is fairly active from the community perspective. GitHub rarely looks at it anymore, prioritising their Enterprise roadmap.
> Github often breaks on firefox and safari, browsers with millions of users
[[citation needed]].
I’ve been as annoyed as everyone with the GitHub frontend performance since the React rewrite, but never really faced breakage in Firefox. This claim is repeated a few times in the article, but without any links.
I really have wanted to do this but Fossil lacks MFA, OIDC, and of course CI/CD. Maybe there's a way to get all three in it but Idk. I know for OIDC you could in theory just use a reverse proxy to do it but then you have to get Fossil to respect it and not just ask you to login again.
Github availability is driven by massive growth in the amount of work. I might add that is without a massive growth in the amount of accounts.. MS is struggling to make Github systems scale, clearly.
VS Code doesn't have a similar scaling issue that I see
> Microsoft: Our priorities are clear: availability first, then capacity, then new features.
> This is a lie. Github - and the microsoft organization more widely - clearly prioritize flashy AI features over fundamental reliability Github has a public changelog. In thirty days since they posted their update, their patch notes contain the words “copilot” 59 times, “agent” 8 times, “performance” 0 times, and “reliability” 0 times. The changelog has a feature to filter by category: copilot is it’s own category: performance and reliability do not exist at all.
I suppose when calling someone a liar, it's beneficial to have hard numbers to back it up. Ouch.
All this hate directed at github feels odd, every time I look into people complaining, or moving their projects off, other than a few related to genuine bugs, many just seem ideological. This article, calling it a crime against software? ... It's just silly. The article itself is a crime against articles, barely readable, weird ass colors. It mostly seems a regurgitation of other peoples complaints and mostly overblown.
We've been using github for a while at our company and find it really good. Copilot reviews are good, we have actions that work every single time, everything just works really well. There are, of course, plenty of things that could be improved, but it's still top dog in this space. I think maybe a couple of times there's been an outage that's affected us for a small amount of time. Overall, it's a good product.
People should consider decentralized git over Nostr, rather than switching to a replacement like Codeberg or Gitlab and waiting for the resulting enshittification after it attracts everyone else.
Setup is simply 3 steps:
1. Sign up on each service, ideally with the same username.
2. For each repo you want to share, create the same repo name as a blank repo; do not automatically create a README.
3. Edit your local file .git/config to add push URLs, then push as usual.
Example:
These days, the problem with cloud-hosted Git platforms is not where to push your code. Replicating repositories across multiple providers is relatively easy, and Git has always been good at that. The harder problem is that successful teams end up accumulating a lot more than source code around their repositories, and much of that information becomes just as important as the code itself.
Bug reports, feature requests, documentation, design discussions, code reviews, project planning, CI/CD configuration, and years of historical context all tend to live inside platforms such as GitHub. While the Git repository itself is portable, all of that surrounding data is often much harder to migrate cleanly, especially if a team has built workflows and integrations around a particular provider.
That, in my view, is one of the main reasons so many companies are heavily dependent on GitHub. Moving the code elsewhere is usually straightforward; moving the entire development process, with all of its history, metadata, and institutional knowledge, is not. When GitHub goes down, the question is often less about where you can push your next commit and more about how easily you can recreate the rest of the environment that your team relies on every day.
> Where do you keep Issues,
Youtrack
> Pull Requests,
Gerrit, it's way better for code review
> Wikis,
Also Youtrack, but other software exists that's specific for this, I have seen Confluence used a lot and while I don't recommend: that's usually the case.
> Discussions,
As far away from code as possible, right now it's Zulip
> project boards,
Youtrack, though usually in companies they use Jira for this.
> and everything else? (rhetorical question.)
In proper tools that are designed to solve a specific need, not try to do everything: badly.
--
Now, a sane person will respond to me with the fact that I haven't removed any single points of failure, I've actually just added more of them. They'd be right! The differences is that it makes the stack a bit more flexible and composable. Migration of, say, the Wiki, doesn't make major issues because it's already somewhat decoupled.
I think it's worthy of a non-rhetorical answer anyways: https://docs.gitlab.com/user/project/import/github/#imported...
None of those might be perfect, but at least people are trying. Even something like Gitea and other forges that you can host yourself have support for most of the basic functionality you'd expect.
However, If we ever wanted a setup where it's easy to mirror rather than import stuff, we'd probably want to look in the direction of storing everything in folders within the repo, e.g. a file/folder for every issue, for every Wiki page etc. Most of the mirroring seems to only concern the repo itself, not the stuff around it, for example: https://docs.gitlab.com/user/project/repository/mirror/
Usually the argument is for scalability, but a single VM for personal use doesn't need that, and even if you do want that, you'll need more than a bare repo.
I also built a convenient CLI tool to switch identities on a per-repository basis. [1] [2] ...which makes working in enterprise environments much easier, as I can just have separate identities/keypairs for each customer.
[1] https://github.com/cookiengineer/git-identity
[2] https://cookie.engineer/projects/development/git-identity.ht...
— Charlie Munger
Edit: great write up, thank you op.
Issues aren't a proper project management tool and wikis aren't fit as documentation.
I've completely abandoned Github.
Unlike sourceforge, how am I suppose to find new stuff when I am rate-limited after a couple of searches?
The fact that companies request you to star them on GitHub and the stars can be bought tells you that there is a value in these stars. [2]
Now, some astute reader, who thinks the $1 trillion global advertisement market does not influence them, will also claim that they don't care about GitHub stars.
Well, that's not how the world works.
Fake stars can propel a good project to great.
A lot of people will use GitHub stars as a currency to decide the importance of certain FOSS (or even open-core) projects.
The real lock-in is in GitHub stars [3].
1 - https://blog.nginx.org/blog/nginx-open-source-moves-to-githu...
2 - https://finance.biggo.com/podcast/1c9f14e134095b87
3 - https://ashishb.net/tech/github-stars/
So, the source is still GitHub, right?
Which means I have to keep my FOSS project on GitHub to accumulate stars.
And how will the project accumulate more?
> everyone knows it's gamed anyway, so why not?
Then why do they still have purchase value?
Arbitrage. Devs know its gamed. VCs less so.
Self hosted gitlab is a dream, no surprises ever, exactly how your repos are supposed to work.
It’s fascinating to me that the people who know the most about tech keep deciding over and over to give something to some corporation and inevitably it becomes an issue. I guess ease of use and freemium really trumps everything; I expect more from smart people but money talks.
If you do not have a lot of users you can easily set it up too.
Heck, GH Stars are used as a vanity metric for a lot of projects.
Soooo...
Let me preface this by saying this is an old (so things are different) anecdote (which is not the singular of data), but...
a) I had never heard of codeberg.
b) My company used an on-prem gitlab instance, and it sucked donkey dicks.
For example, the equivalent of just putting a statically generated site into github pages required running a fucking production pipe.
You should make the easy things easy and the hard things possible. Making the easy things hard is an immediate red flag.
> The problem is the inertia.
Oh, don't worry about that. Github is working diligently to fix that problem. The question is, are the alternatives worthwhile?
Just because you're a developer doesn't mean you're a hacker or you care for the craft on any level.
The wild west days are over.
There are many things that I don't like about Github, but I think the most important one is that Github doesn't allow users to have multiple free accounts.
You can create as many accounts as you want on Reddit, have as many blogs as you want on Tumblr, and even create multiple personae on Facebook on a single account, but Github doesn't allow you to do any of that.
You can't be a "hacker" platform when you give users less control over their privacy than Facebook provides.
I assume that is a bigger problem when you consider everyone decided to stop hosting their own forum and moving all their discussion to Github issues and Github's built-in forum.
Which email chains is this referring to? GitHub/community is fairly active from the community perspective. GitHub rarely looks at it anymore, prioritising their Enterprise roadmap.
> Github often breaks on firefox and safari, browsers with millions of users
[[citation needed]].
I’ve been as annoyed as everyone with the GitHub frontend performance since the React rewrite, but never really faced breakage in Firefox. This claim is repeated a few times in the article, but without any links.
VS Code doesn't have a similar scaling issue that I see
> This is a lie. Github - and the microsoft organization more widely - clearly prioritize flashy AI features over fundamental reliability Github has a public changelog. In thirty days since they posted their update, their patch notes contain the words “copilot” 59 times, “agent” 8 times, “performance” 0 times, and “reliability” 0 times. The changelog has a feature to filter by category: copilot is it’s own category: performance and reliability do not exist at all.
I suppose when calling someone a liar, it's beneficial to have hard numbers to back it up. Ouch.
We've been using github for a while at our company and find it really good. Copilot reviews are good, we have actions that work every single time, everything just works really well. There are, of course, plenty of things that could be improved, but it's still top dog in this space. I think maybe a couple of times there's been an outage that's affected us for a small amount of time. Overall, it's a good product.
https://nostrapps.github.io/nostrgit/