this post was submitted on 02 Oct 2024
364 points (99.7% liked)
Open Source
31243 readers
248 users here now
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon from opensource.org, but we are not affiliated with them.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Git itself isn't decentralized is about people copying it and sometimes mirroring it.
Anyway it is a good habit to avoid github entirely (when hosting a repo).
Not sure what you mean. My understanding is that git itself is decentralized insofar as each clone can develop its own history without ever needing to push to the origin, but that what OP is referring to is actually the “distributed” nature of git, where i.e. it’s easy to copy the entire history of an instance.
Exactly. Isn't decentralized itself since it's not a platform but by being "indipendent" and not entangled with anything you can just copy it entirely and host it somewhere else.
I think I see your definition of “decentralized” a little better now, if you only want to apply it to platforms.
I think your definition may be too strict, and that “decentralized” and “distributed don’t have to be mutually exclusive, but eh, that’s just my take.
I think if syncing of (at least) upstream histories between clones was done automatically, they might consider that more in-line with their definition of decentralized.
Also kudos to both of you for communicating your differences properly without resorting to arguments.
I feel like so much of the arguing and trolling nowadays is simply due to a difference in subjective definitions and people not being able to calmly communicate that with each other.
100% agree, when I see something I disagree with on its face I try to default to “I probably don’t get something they’re saying, given that it’s only a couple sentences of written word, and a different person’s brain who wrote them”.
It always makes for more useful conversation than defaulting to “ha what a dumbass”
Git being snapshot-based unlike other (better) VCSs require that patch order matter so often the easiest way to manage a project is to have some centralized authority since it is so, so easy to get merge conflicts without a central authority if trying to just distribute patches. It’s a lot easier to be decentralized without Git’s fundamental limitations.
What version control software in particular do you find better than git?
Your point about users often managing git projects via centralization is taken and valid. I was just pointing out that you don’t have to use git that way - different clones can separately develop their own features - so the earlier claim someone made that “git isn’t decentralized” is still wrong, imo.
How can I subscribe to the answer?
Darcs & Pijul are based on Patch Theory. https://darcs.net/Theory
Git is distributed but still centralized. D in DVCS is distributed. Downvoters likely have never used a non-Git VCS, let alone a non-snapshot-based VCS. But fanboys will fanboy.
Pijul & Darcs are based on Patch Theory which make the conflicts of different patch order a non-issue so long as the apply cleanly (such as working on different ports of the code base). Patch A then patch B ≡ patch B then patch A; this will be a needless merge conflict in Git since the order matters. (& no, Jujutsu isn’t the solution still shackled to the limitations of Git as a back-end while claiming to do what Pijul does—but doesn’t).
I think downvoters are just expressing disagreement with your opinion. Personally I don’t hate git but I wouldn’t call myself a “fanboy” either - I just don’t think “distributed” has to be mutually exclusive from “decentralized”, which is a term not rigorously defined in this context anyway.
But thanks for informing me about patch theory, that’s something I’ll probably make a small hobby out of studying.
FIFY
Yes but no, because I don't want to not interact with a repo at all just because it's on github for whatever reason (if there's one).
But yes, I understand your feelings. Fuck M$
Git is decentralised by nature. It's what allows mirroring the repo on other forges even when git repos are hosted on proprietary platforms like GitHub.
You can easily mirror GitHub to some other repo
Yup. I've done it myself when I switched to Gitlab. It's really straightforward.