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 ?

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    6
    arrow-down
    57
    ·
    edit-2
    9 months ago

    My hot take is the quickest way out of this quagmire is to abandon Git. With the education system & bootcamps raising the next generation to think MS GitHub is Git, it would probably be less work to start rolling with another VCS as megacorp Microsoft won’t have the agility to pivot away 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 while demanding you use it to build your résumé… or it’s built on email as the common denominator with fingers in ears as if mailing lists are the optimal workflow for all projects when a majority of folks don’t even know how to bottom post & keep their mail with the same evil Microsoft or the other evil Google. Nothing is being bold enough to actually have a better user experience—currently the best lure is… free software, but worse UX? Being a better UX the Microsoft GitHub is not a even that high of a bar. Some folks claim “network effect” but it seems clear that a lot of folks already want out.

    Nah. Start anew. Check out Darcs, Pijul, Fossil, Mercurial, Bazaar, or whatever else is out there. Build on the ideas that improve version control.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        11
        arrow-down
        15
        ·
        edit-2
        9 months ago

        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. Best you see is these pretty please attempts to encourage not forking to Microsoft’s platform. Microsoft has a massive pull in the direction Git goes, & whatever MS GitHub does, the alternative forges seems to want to clone 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). When you look at the latest release notes for Git, often the first publisher is GitHub’s blog—this is what gets shared around the link aggregators. Part of the strategic purchase of GitHub on Microsoft’s part was getting access to that project sway (& upselling services—it’s not pure conspiracy—with some of the changes definitely being for the better).

        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.

        • rah@feddit.uk
          link
          fedilink
          English
          arrow-up
          10
          ·
          9 months ago

          Git is not the best DVCS

          What would you suggest is a better DVCS than git?

          • toastal@lemmy.ml
            link
            fedilink
            arrow-up
            11
            arrow-down
            2
            ·
            edit-2
            8 months ago

            Personally, I find the Patch Theory options the most compelling since fundamentally patches should commute—meaning 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, stable 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 & has a really cool independent 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 your new identity on all repos you’ve contributed to), 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 muliple patches without losing metadata isn’t fully exposed. Nest, the forge from Pijul’s 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. For Darcs, Darcsden is fine but not great & showing its age, but newly started Smeederee seems to be going in a good direction, the rest of the old 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 & enegery flow into these channels.

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

              • toastal@lemmy.ml
                link
                fedilink
                arrow-up
                2
                arrow-down
                1
                ·
                edit-2
                9 months ago

                Not to say don’t (do try it), but Darcs might be better if you just want to understand some of the fundamentals since it’s more mature. A small project will not perceive any performance difference. If you use Git’s CLI heavily, Pijul’s CLI will seem barren in comparison & tooling even like vim-signify doesn’t have support. Pijul’s diff isn’t GNU diff compatible so that tooling won’t help either.

                If you grasp Darcs, moving to Pijul is pretty simple since they are based on the same theory—you just might need to be invested enough to start building your own tooling which is more of a time commitment. Pijul is meant to be scripted which is partly why it’s barren—so for a trivial expample I created a small shell script pijul-amend which wraps pijul record --amend which is picked up as pijul amend mimicking darcs amend. Maintenance is easier when a project supports only the minimum set of commands, but you’ll be building your own ergonomics (no rebase, no send-mail, etc.). Maybe in the future when there is a bigger contrib space to fill in the gaps, it won’t be such an investment to just to test out.

            • rah@feddit.uk
              link
              fedilink
              English
              arrow-up
              1
              ·
              8 months ago

              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?

              • toastal@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                8 months ago

                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.

                • rah@feddit.uk
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  8 months ago

                  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.

                  • toastal@lemmy.ml
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    edit-2
                    8 months ago

                    Evangelical in that it’s documented as 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.

        • redfellow@sopuli.xyz
          link
          fedilink
          arrow-up
          3
          ·
          9 months ago

          I self-host GitBucket, and honestly your reasoning behind giving up arguably the best version control application, just because of one hosting site, is downright ludicrous.

          • toastal@lemmy.ml
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            edit-2
            9 months ago

            Yeah, I stand by my stance that Microsoft has poisoned the whole Git experience, where everyone will be comparing all forges to MS GitHub & the direction of the Git project ship is being steered heavily by Microfsoft. I also disagree with “best” VCS—I will agree with Git having currently the most/best tooling around it which can lead to a better overall experience, but Git’s fundamentals are not without some obvious flaws.

            • redfellow@sopuli.xyz
              link
              fedilink
              arrow-up
              4
              ·
              9 months ago

              It hasn’t. There are literally thousands and thousands of developers using Git daily without having nothing to do with GitHub.

              You are entitled to your opinion, but that’s a fact. What MS does or doesn’t, with GitHub, has no effect on these devs. You can see how egregious it is to read a random person sayint we should stop using a certain tool, because Walmart also uses it? Jeesh.

              • toastal@lemmy.ml
                link
                fedilink
                arrow-up
                1
                arrow-down
                1
                ·
                8 months ago

                I would venture while thousands use Git without MS GitHub, 98% have an account since you largely can’t contribute to many projects without due to lock-in.

                If Walmart was the biggest funder, making the most calls to the project, & optimizing it to be sold in their stores, I would 100% have hesitance against something if I could find an alternative (physical vs. digital goods working a bit different).

                It’s not that I don’t see your point, it’s just that I’m pessimistic that the open source community at large would in practice move off of MS GitHub or otherwise offer alternative contribution channels before we would see another tool + platform supplant Git as the status quo in the next generation of VCSs. I would rather accelerate that future—unless like Google or Facebook is the clear leader of that new tool, but many projects right now not named Jujutsu seem to be independent.

                • redfellow@sopuli.xyz
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  8 months ago

                  The great majority of developers never contribute, that’s a false expectation. Majority of programmers work in the private sector and use local git hosts/solutions instead of GitHub.

                  Again, expecting those devs to not use git because of one hoster, is a ludicrous idea in itself.

                  • toastal@lemmy.ml
                    link
                    fedilink
                    arrow-up
                    1
                    arrow-down
                    1
                    ·
                    edit-2
                    8 months ago

                    Open source drives that ecosystem & the private sector follows suit as the developers try new tools & suggest platforms from their open source experience. There are a lot of companies on MS GitHub Enterprise as well as opening some of there source in the form of libraries & they all choose Microsoft for marketing reasons over technical ones (Git is just Git after all).

                    You are acting like I’m saying “leave Git now or else”. I suggest it could be an option, if IMO a faster option, to get out Microsoft’s of monopoly. It’s easier to pitch as better tool with better features that solve problems than argue “well, ethically, you just self-host or move to Codeberg since user freedom matters”. That philosophical argument is harder to preach than Fossil ports the whole forge + tooling ecosystem with your project or Darcs/Pijul solve the merge conflict order of patches not commuting or Mercurial offers a more user-friend CLI.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        4
        arrow-down
        2
        ·
        edit-2
        9 months ago

        Have you tried anything contemporary to or newer than Git (i.e. not CVS or Subversion)? It’s quite an anomaly that Git has held it’s reign as long as it has compared to other software & to assume it’s not worthy of criticism or isn’t regularly criticized online is delusional. There has been a lot of interesting work in VCS space that many have ignored since their heads are just stuck in the Git bubble. Was Git better than things before it? Mostly yes, but there are options now (& around the same time frame) with more ergonomic CLI, better conflict resolution, handling of large file blobs, better project management, & so on.

        • qaz@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          9 months ago

          You seem to know a lot about VCS. Recently I’ve been looking for a VCS that handles binary files well, has deduplication, allows for deletion/forgetting of older versions without too much hassle, deals well with binary file conflicts, and allows for storing the old binaries on another server (like git LFS). Do you happen to know something that fits that description?

          • toastal@lemmy.ml
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            9 months ago

            My memory could be failing me but I believe the gaming industry prefers Perforce for large files. Pijul’s FAQs seems to point in the direction that it could be good enough for some use cases. I haven’t put too much effort into researching solving that specific hard problem, but if I was to create a video game, you really need to look at how to best handle your assets.

            • qaz@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              9 months ago

              I have heard of Perforce but it doesn’t seem to be FOSS. Pijul seems interesting, I’ll check it out. I’m currently using Nextcloud to sync projects between my desktop and laptop, but it’s a bit of a pain. It takes up to 18 hours for the initial sync and uses a lot of CPU.

              • toastal@lemmy.ml
                link
                fedilink
                arrow-up
                2
                ·
                9 months ago

                Well the games industry is largely not FOSS so not a huge surprise. Parts of that might be changing after the debacle with Unity with those moving to Godot–not that Godot doesn’t have issues. For a minute before the Zoom buyout I was using Keybase to sync with some folks files, but I don’t know about long term. I’ve also heard some folks like Resilio Sync (formerly BitTorrent Sync), but I can’t say much about it. It’s a hard problem to solve since these files don’t diff.

    • Phoenixz@lemmy.ca
      link
      fedilink
      arrow-up
      7
      arrow-down
      3
      ·
      edit-2
      8 months ago

      You seem to not understand that github is not git, it uses git, period.

      • toastal@lemmy.ml
        link
        fedilink
        arrow-up
        3
        arrow-down
        5
        ·
        9 months ago

        You didn’t even read to sentence #2? That is the whole point—at this point with a sizeable portion folks thinking they are one in the same & Microsoft with one hand reaching across the driver to steer the Git project while basically defining how Git forges should look with every big alternative trying to clone MS Github, it could be easier to get out of the vehicle directed by Microsoft & create a new future where Microsoft doesn’t have its sticky hands already in everything.

        • Phoenixz@lemmy.ca
          link
          fedilink
          arrow-up
          4
          ·
          8 months ago

          Just because some (really dumb) people think git is from Microsoft doesn’t mean we should stop using it.

          With that logic we should stop using half the protocol and utilities out there. Remember that open source can be used by anyone, so that includes Microsoft.

          Just setup your own open source gitlab or something and use that. Don’t throw out the baby with the bathwater

          • toastal@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            8 months ago

            Then you are suggesting “the people” can take Git back from that narrative–because you can’t deny that the majority of projects are on Microsoft’s platform. Maybe they can, & I hope they can too! …But I am skeptical that any true migration will actually be done before there is a tool adopted anyhow, so I would prefer we accelerate the adoption of that new tool+platform instead since I think there are some underrated tools that folks are missing as they have never even looked outside the Git bubble. I migrated everything I could off in 2016 with the Microsoft purchase, & so many folks said they would too. It’s been 8 years, & even with some folks going elsewhere, more new folks are replacing them on MS GitHub than there are those leaving (thanks education system).

            • Phoenixz@lemmy.ca
              link
              fedilink
              arrow-up
              1
              ·
              8 months ago

              Git has nothing to do with Microsoft and I think most tech people (th only people using git) know that.

              I have seen and used alternative tools. Git has issues, just like all alternatives. Its just that git is vastly superior to all alternatives, and it’s open source.

              If (once) Microsoft gets abusive with GitHub, people will leave for alternatives, such is the life of open source

              • toastal@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                8 months ago

                Hard disagree with “vastly superior to all alternatives”, but I hope you are right about that last part.