6 ms·
I don't think Git "won" principally on technical merits. I think it won because VCS transitions are very painful so people wanted to use the system that they e
by mjw1007 4y ago
I don't think Git "won" principally on technical merits.
I think it won because VCS transitions are very painful so people wanted to use the system that they expected to end up being most widely adopted. Certainly that's why I chose it in 2007.
And of course when you're making this decision you should assume that many other people are making it on the same grounds.
I believe the term for this situation is a "Keynesian beauty contest".
- WorldMaker 4y ago> I don't think Git "won" principally on technical merits. Git seems a very pure example of the Unix philosophy "worse is better". Lots of evidence that Linus examined darcs in some detail, decided it was "too smart" and wanted/needed "dumb but fast". It's even in the name of git given "git" is a British colloquialism for "idiot" or "fool". Sometimes you just need the dumb tool that works fast and gets out of the way, and the technically better and smarter (but slower; harder to understand) tool loses.
- cryptonector 4y agoGit started out dumb, but had the right internal primitives. The rest got built over time. Nothing wrong with that. Yes, there's warts left over all over the place. So what.
- WorldMaker 4y agoSo what? It's a useful reminder that the "best technical solution" isn't always "the best solution for me/right now/here/this need that I have". It's also useful to remember that git started out dumb and is still dumb in its own ways, because that gives us room to grow, things to aspire to, and areas to continue to research, better "technical" tools to keep an eye on. Git was named dumb especially with respect to darcs, and from that perspective git will always be dumb: you call git's internals "right", but "right" has multiple meanings. Yes, they are well suited to the job. But the darcs perspective here is that they aren't the most "technically right". Darcs internals use primitives that much more closer resemble OTs/CRDTs. There's a lot of HN love for the technical beauty of tools like CRDTs. Darcs made the case from its beginning that source control and the mental model of source control is much closer to things like CRDTs (keeping in mind darcs predated/coincided much CRDT development) than it is to "trees of trees of files" like it is in git internals. Darcs is closer to the "right" tech internally, especially where its primitives do model programmer behavior better. It's useful to still have darcs to compare to for what a "smarter git" could look like, even/especially at the internal primitives level. It's useful that projects like pijul are still exploring those ideas even despite "git has won" and "worse is better". At this point like most everyone, I use git because it is incredibly pragmatic. I appreciate knowing that git isn't perfect, isn't "technically smart", and that there are cases to continue learning how we do the beautiful technically smart stuff in a way that is also or at least nearly as pragmatic.
- cryptonector 4y agoFor sure.
- agumonkey 4y agoTo me git won because of some ergonomics. CVS and SVN felt like gnu screen, cryptic and a bit limited, requiring a good setup phase to make it right.. egg walk. You grab git, clone stuff, branch out, merge in .. it was transparent locally or networked.. plug and play.
- petepete 4y agoI think GitHub was a massive factor in Git's rise. It would be much easier to displace if a huge part of the world's code hosting infrastructure wasn't using it. Nearly every project will use GitHub, directly or indirectly.