It seems to me that TCP/IP is always censorable at the ISP level, but maybe I'm wrong?
I guess? But that's just the structure of the internet. ISPs are basically just gateways that connect you to other ISPs in other {areas, countries}. IP is just a protocol that allows you to logically address a machine in a network.
You'll be able to create your own internet in your own area using a bunch of wireless routers in a sort of meshnet style and still uses IP. But that doesn't rely on an ISP to communicate with other nodes in the meshnet.
Maybe packet radio as well. That's a way to communicate to farther networks without going through an ISP. It's a heck of a lot slower though.
reply
Yes. I am aware of packet radio. You're right. It's very slow. It just seems that critical projects like those on github can be taken down on a whim by third parties. I know a meshnet is very pie in the sky, but the current system seems very fragile.
reply
258 sats \ 1 reply \ @rtr 26 Apr
Yes. It's very fragile. It's actually insane when you really think about it. How a lot of the current infrastructure today are very fragile on certain places.
Reminds me of this XKCD comic:
I think the best way to deal with this fragility is to make sure that you have redundancy.
I mean, posting your repo in Github is great since there's a lot of people using it. But you should also have your repo backed up elsewhere, preferrably in multiple places, just in case Github kicks you out.
reply
That sums it up!
reply
I wouldn't call the internet "fragile". It's actually very robust at routing around local obstructions in the network - if there's a route, it tends to find it, eventually.
And a GitHub takedown, while impactful, does not spell the end of a project. Git calls the operation clone for a reason - everyone who does that downloads the entire repository, with its entire history and all branches.
You can recover a project from any developer's machine almost immediately (and with integrity checks), thanks to Git's decentralized nature.
reply
Thanks for the information. I know there has been talk of getting bitcoin core off of github. What's the rationale for moving it, and what alternatives are available, if you know?
reply
I'll start by pointing out that you don't need a "full-service" to just host code.
You can just expose a bare Git repo over any plain ol' HTTP server with something like
python -m http.server -d /path/to/repo.git
There's technologies like WebDAV and more modern ones that even allow write access.
Indeed, I believe this was the way that Linus Torvalds hosted his autority-copy of the Linux Kernel in the early days of Git.
That being said, there are plenty of alternatives.
Hosted:
  • GitLab, but I believe they don't offer as much free stuff as GH.
  • GNU Savannah, supported by the GNU Foundation. Your project must be FOSS under fairly strict Richard Stallman rules.
  • SourceForge will get an honorable mention because it was THE Big Daddy back in the days. Massive enshittification caused them to slide into obscurity.
  • JetBrains, Atlassian and other smaller players have offerings too, but perhaps too private-code focused.
Self-hosted
  • Gitea, definitely my favourite. I use it for private code hosting that doesn't leave my network, but can supposedly scale to handle public projects.
  • GitLab has an open source "community edition". Never used it.
As for rationale for moving something like Bitcoin Core off GitHub, I don't really see one at present. There is no smoke indicating a shutdown is on the horizon, so it doesn't justify the cost of a preemptive migration.
If a shutdown happens out of the blue, like I said, reemerging on another website is trivial, but they can shut down that too until the only thing left is a Gitea instance, or indeed a bare repo, hosted over Tor.
reply
Great information. Thanks!
reply