Github Enshitification, This comment has been minimized. Sign in to view

https://sh.itjust.works/post/17912814

Github Enshitification, This comment has been minimized. Sign in to view - sh.itjust.works

Are you guys fine with these new shenanigans from Github. I found a bug and wanted to check what has been the development on that, only to find out most of the discussion was hidden by github and requesting me to sign-in to view it. It threw me straight back to when Microsoft acquired Github and the discussions around the future of opensource on a microsoft owned infrastructure, now microsoft is exploiting free work from the community to train its AI, and building walls around its product, are open source contributors fine with that ?

My hot take is the quickest way out of this quagmire is to abandon Git. With the education system raising kids to thing MS GdtHub is Git, it would probably be less work to start rolling with another VCS as they won’t have the agility to pivot from Git. Git isn’t even that great—arcane CLI, patches don’t commute, basically permanently locks in your name & email, large files require a separate tool, etc. And most of the popular alternative forges are literally just trying to clone MS GitHub rather than invent something new or solve the shit problems it doesn’t like threading, pull request model sucks, source code doesn’t need to be a social media platform with gamified stars & anxiety inducing activity charts to encourage that MIT code in your free time the corpos will use & never contribute back…

Nah. Start anew. Check out Darcs, Pijul, Fossil, Mercurial, or whatever else is out there.

Wtf just use gitlab/gitea/whateverthefuck instead of Microsoft garbage

Your project will inevitably get forked onto MS GitHub & the SEO will rank that fork above you—changing VCS adds a layer of friction that discourages forking back onto MS GitHub. Microsoft has a massive pull in the direction Git goes, & whatever MS GitHub does, the alternative forges seems to want to clone their feature even if it’s bad (look at Forgejo diverging from Gitea to copy Actions verbatim even tho we all know working with YAML for CI is a bad idea that scales poorly).

And again, Git is not the best DVCS—but folks are hesitant to try other platforms since there is less forges & tooling. If Microsoft is controlling the Git ecosystem like it is, that effort, in my opinion, would be better spent choosing a better DVCS system that isn’t already infected by Microsoft or Google or Apple or similar.

Git is not the best DVCS

What would you suggest is a better DVCS than git?

Personally, I find the Patch Theory options the most compelling since fundamentally patches should commute—weaning it doesn’t matter if patch α or patch β was merged first & you start to feel weird that you get merge conflicts despite the same end result in something snapshot-based. The two big contenders are Darcs, the still-maintained pioneer in the space & new(ish)comer, Pijul. Darcs has less rough edges being about as old, stamse as Git but has some performance issues (where some of the old perf issues are fixed, some remain) & being Haskell, libraries get created since that community loves to code more than it likes to maintain so libraries can go out of date & package tooling still isn’t what it could be. Pijul, memes aside, is written in Rust with some more modern sensibilities & a really cool idendependity identity management system (you can hide your name/email for privacy, or change it to not be deadnamed & not have to raise a merge request to rebase you identity on all repos you contributed), but it’s pretty barebones despite being technically feature complete I believe—with rebase being missing feels like a glaring issue as the way to fix patches isn’t fully exposed. Nest, the forge of the creator, is pretty lackluster too IMO from featureset to self-hosting stack without any real alternative yet. It’s still a project worth watching & SSH+HTTPS work fine for hobby projects. Darcsden is fine but not great, but newly started Smeederee seems to be going in a good direction, the rest of the forges are written in like Python 2. …Which is the part where I would like to see some of that yet-another-Git-forge effort flow into these channels.

Fossil is interesting too for shipping the whole forge, & have heard great for small teams as that is what is optimized for, but I haven’t used it.

Darcs - Theory

The two big contenders are Darcs … Darcs … has some performance issues (where some of the old perf issues are fixed, some remain)

If Darcs has performance issues, how is it better than git?

In many scenarios you probably won’t notice… but also Pijul has ‘fixed’ that fundamental perfomance issue. The Patch Theory states that patches, without depending patches that would cause a conflict, should commute—i.e. patch α + patch β ≡ patch β + patch α in the same way 1 + 4 ≡ 4 + 1 (order does not matter, output is equivalent). What this eliminates is an entire class of merge conflicts & opens up new ways to handle diffing. This particular class of conflicts makes it easier to work in a distributed project as anyone can pull in anyone else’s patch at different times in project without conflicts. In practice with Git being snapshot-based & patch order mattering, this tends to cause folks to rely on a centralized, canonical Git server to merge into to be able to ask what the order should be so everyone doesn’t get stuck in their rebases/pulls (rerere fails a lot).

It turns out there is more to version control than how fast CPU go; if we measured programming languages with the same stick, we’d all only write assembly since everything else has a performance penalty.

The Patch Theory

The way you write about this seems very evangelical.

patches, without depending patches that would cause a conflict, should commute

get stuck in their rebases/pulls

I use git every day and I don’t recall patch ordering ever being a problem.

Evangelical in that it’s documented an a theory & a paper for the concepts you can read about? Communicative properties are common in math–what’s novel is applying those properties to patches for source control compared to the older models.

I use git every day and I don’t recall patch ordering ever being a problem

Have you worked in a distributed team sharing just patches over email? If Alice pulls from Bob & then Catherine, but David reads & applies Catherine’s then Bob’s, Alice & David now have a conflict in the ordering when trying to push/pull later. I have ran into this. Or did you use a centralized, canonical (therefore not distributed) Git server with a pull request model? If you do the latter, you won’t run into the issue but you also aren’t using the distributed part of a distributed version control system (DVCS)–& most don’t since has too many issues with snapshot-based tools. This restricts the sorts of systems & team structures for source control we can even do (you need a Tvoralds dictator even for Linux’s mailing list) & we can’t really think outside the snapshot-limitations until we step outside of that snapshot bubble.

Commutative property - Wikipedia

Evangelical in that it’s documented as a theory & a paper for the concepts you can read about?

No, evangelical as in needing to tell people about it, even if they have no interest.

Have you worked in a distributed team sharing just patches over email?

No.

feddit.uk/comment/8692603

You literally asked what I suggested. And I’m trying to do my due diligence in raising awareness for ideas I find compelling since these alternatives have yet to be any many folks’ radars …VCSs that solve issues you have yet to run into, but might someday & now you might remember you once heard about a solution online.

Github Enshitification, This comment has been minimized. Sign in to view - Feddit UK

Are you guys fine with these new shenanigans from Github. I found a bug and wanted to check what has been the development on that, only to find out most of the discussion was hidden by github and requesting me to sign-in to view it. It threw me straight back to when Microsoft acquired Github and the discussions around the future of opensource on a microsoft owned infrastructure, now microsoft is exploiting free work from the community to train its AI, and building walls around its product, are open source contributors fine with that ?