Hacker News new | past | comments | ask | show | jobs | submit login

What do you mean with "real" decentralization? Git is as decentralized as you can get. You don't need IPFS to make it decentralized, it's already there. It was designed that way.

A lot of people are confused about this because GitHub and GitLab are the only intermediaries they've used to collaborate with git. If that applies to you and you would like to know better, read this: https://drewdevault.com/2019/05/24/What-is-a-fork.html




I was pretty clear in what I said: Gitea and Gitlab are centralized.

Git itself is neither centralized nor decentralized by design, it merely provides an infrastructure for replication and is agnostic about whether or not there is a "center" to the space of replicas. It depends on how you use it... but in practice the way it is used in nearly all projects is that there is one "main" (authoritative) upstream repo for a project, and that creates a point of centralization unless you put that repo on IPFS.

Yes, you could also completely forgo having a "main" repo, but how are the users then to find the "latest version" of your project? Who are you going to fork from, how do you discover collaborators? Git does not provide mechanisms for solving these problems; they're outside its scope. But some of the P2P and federated technologies such as IPFS do. With IPFS you can have a main upstream repo that's advertised without there being a host / person / org that can be hit with a takedown request. And other federated projects mentioned in this thread address other questions around collaboration that Github (as well as Gitea and Gitlab) address in a centralized fashion.


There is a difference between talking about a decentralized system, or about decentralized hosting of a centralized system. You are talking about the latter, but that is irrelevant if you have the former.

There is no "latest" version of a project in the decentralized model. As soon as there is one "latest" version that rules them all, you have centralized an aspect of the project and that immediately becomes a target for organizations like the RIAA. IPFS does not help here. Because in the end, someone must have the exclusive right to release a new "latest" version. This release mechanism becomes a single point of failure.

Sure, you can use use IPFS to create multiple copies of that new version to avoid having them taken down. But you also could just do `git clone` on a new server, as so many already have done. Creating copies and putting them up for download is not the problem.

If git is used in a true decentralized way, everybody has their own version of the project. No two have to be alike. Do you want to use youtube-dl to download porn, get the version with the right extension. Do you have moral objections to porn, get the version without them. Exactly like there is no "one" Linux, each distro has its own version, with the patches they think are important. This way, the RIAA could even release their own version of the tool. One that can download from Youtube, but not video's that are subject to the copyright they want to uplhold.

Users would not have download the tool directly from that one developer/team, they could download it from whoever they trust to have their best interests at heart. That is what decentralization means.


I'm amazed at the number of people who can't seem to grasp the difference between Git and GitHub/Gitea/Gitlab, on Hacker News of all places.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: