So this is inspired somewhat by a question about somebody wanting to have a non-GitHub way of contributing to Lemmmy. I’ve really enojyed some other discussions on this community so felt somewhat inspired to ask this one too.

And whilst Lemmy is mirrored to a couple of alternatives (a self hosted Gitea and Codeberg) they can’t really be anything more than a mirror and a backup. If one doesn’t want to use GitHub they still can’t realistically contribute without signing up to GitHub and creating issues and PRs.

So what would it take to actually get people away from GitHub and onto alternatives (GitLab, Codeberg, sourcehut)? The situation seems to somewhat parallel the whole Reddit and Twitter thing. Both have/had a huge monopoly on users to the point where it just wasn’t really worth using anything else, at least not if you wanted to be part of a decently sized community.

Other mass migrations

Obviously the difference with Reddit and Twitter is that they both have had their version of “the Event” which cause existing projects (Mastodon, Lemmy amongst others) to suddenly explode in popularity. Has it killed off the originals? No but it has made the alternatives actually viable with enough of a community to sustain them and encourage more to join, even if slowly.

GitHub has had its fair share of controversy, most recently surrounding co-pilot and code scraping but no particular widespread outrage to cause people to leave it in droves.

GitHub is the home of open source?

I think for many GitHub has simply become synonymous with open source. The sheer number of repositories and projects hosted there means that people just use GitHub alone for all of their open source needs and don’t even look at other forges. Not to mention all the services offered - most of the alternatives can offer some of the same features but not all of them. Not only do you get space for your project code itself but you get access to their CI/CD platform, a forum through Discussions, a wiki, a project management tool, static site hosting which is an awful lot for smaller projects like GitLab and community non-profit projects like Codeberg to compete with.

There of course are some people that rely on their GitHub profile and their activity chart in order to get jobs and advance their careers - many of these people I suspect wouldn’t want to fragment their profile by having to split their activity up over multiple profiles.

So why would anyone not want to use GitHub. Quite simply it isn’t really in the spirit of open source is it? Not only is it controlled by Microsoft who haven’t historically been the friendliest towards open source but GitHub itself is closed source. You can’t host your own GitHub and get all the same features it enjoys. It does seem somewhat odd that the biggest vault of open source projects is itself proprietary and completely closed off.

What would need to happen for things to change?

So realistically what could be done about it? What would need to happen in order to entice people off of GitHub? Something arriving in the hopefully not too distant future is forge federation - projects such as Forgefriends, ForgeFed and ForgeFlux aim to try and create a federation of software forges. One of the main issues about having to create different accounts for every single platform goes away as you just stick with the instance you like best (or host your own) and yet still be able to fully interact with software hosted on other platforms. This means that you should be able to interact with a project hosted on, say, Codeberg, from your sourcehut account. You should be able to see issues, PRs etc. just as if you were on the same website.

GitHub, I strongly imagine, would have no intention of joining in order to maintain and protect their walled garden. I just don’t see a world where they would want to join in with federation.

Lastly I just want to add that I’m absolutely not judging anyone for using GitHub. The main project I’m involved with is also still on GitHub for some good reasons. Not only is it intertwined with their ecosystem but it provides services that we just need at this point. We still rely on some of GitHub’s services so we don’t spend our community donations on hosting stuff that we just don’t need to. It lightens the maintenance on us whilst we are still in a very active stage of the project with an awful lot of moving parts. And the bit I hate most, we need to be visible to the community - we aren’t big enough to go to one of the alternative platforms because what community engagement we have might well drop through the floor if people are suddenly forced to make accounts on other services just to log an issue or ask a question. I would love to move to a platform like Codeberg and any personal project I make would probably be hosted there but for a big-ish community project we just cannot justify it. So I am well aware of the attraction of GitHub and what keeps people there. What I want to know is what would be needed to actually break that inertia for projects, such as the one I mentioned, to justify a move away from GitHub - particularly people who may be far less ideological about the open source world.

tl;dr

  • GitHub offer many nice thing
  • Other places have not so many nice thing
  • How other place make people change mind up to move from place with all thing and all people to place with less many people and thing?
  • TeoTwawki@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 year ago

    Well for starters alternatives to github would need to stop shitting the bed. I and my team left for gitlab at one point, then gitlab had that whole fiasco where they violated everyones rights and litteraly broke the law while their ideot cfo mouthed off in public posts at the company devs who questioned the move. Then after that they tried to remove “inactive” projects till a whistleblower leaked it and that blew up in their face.

    Bitbucket ignored major issues with its platform for more tha 6 years including the most popularly demanded feature basic fucking search functionality.

    The list goes on and we tried many things before being basically forced to ho back to github. But right now unless you can self host githubs the best of what’s available. If you self host I recommend gitea or gogs over shitlab who has proven they can’t be trusted.

  • Caroline@lemmy.fmhy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    GitHub would have to become unusable to me for me to switch. I already oppose a great many things GitHub does, but I consistently use most if not all of the free features on the platform, and their Git LFS for cloud storage (of all things. I know. I’m still kicking myself for that blunder).

    The least problematic thing would be moving my snippets from GitHub Gist to a basic repository on some other site.

    All of the projects I’ve ever created are on GitHub. Over 100 in total, not counting the projects in organizations I started. If I could find a trustworthy, reliable host for Git, I could potentially migrate those repositories over many hours of work, but then I would run into the problem of CI testing and automation being inaccessible from the new host. I use GitHub Actions for a lot of projects, and I’ve never liked other CI providers.

    My organizations are all customized with specific teams for specific projects, and all of that would have to be replicated on the new host. My teammates would also have to switch for me to feel comfortable there as well, but in the case that GitHub becomes unusable, I wouldn’t have any choice but to leave them for whatever host I chose. I’d have to find a new place to put my kanban and table trackers that are currently managed through the excellent GitHub Projects as well.

    My static website is deployed using GitHub Actions to GitHub Pages and redirected to my domain through CloudFlare (which I also oppose for their anti-LGBT “family” filter, but like GitHub, I don’t see a good free alternative).

    TL;DR: It would have to be a perfect storm, or a complete disaster to make me switch providers for all these services.

  • popemichael@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Github works and it’s worked for a long time

    Unless they pull a Reddit, then it will be the main source for a long time

    See, sites run by sane people know that so long as you give a consistent functioning product then the base will stay and grow.

    They don’t even have to innovate much so long as those two factors are there

    • body_by_make@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      They’ll never pull a Reddit either because Microsoft spent a bunch of money on it and Microsoft knows how to maintain customer loyalty, even when actively working against them. They know how to safely explore their boundaries.

  • nothacking@discuss.tchncs.de
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Generally GitHub has low lock in, the only real thing lost in moving to another service is the bug tracker, but this can easily be scraped. There is no real network effect, as git is fundimentaly decentralized. The main this preventing a mass migration is that GitHub has been remarkably nonshitty, possibly because they now how quickly their marketshare could implode.

    TLDR: There is not really anything preventing migration, but a lack of anything to kick it off.

  • PeterPoopshit@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I use gitea to self host my own git projects internally. I only post the really good and well-refined stuff to my actual github.

  • vintprox@geddit.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I don’t if, but soooo much crashes surely should trigger some response in people, especially when they go out of their way to work on some “real time” codebase, tasks requiring even a pinch of synchronization.

  • synack@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    The Gitlab UI is insanely bad, are any of the alternatives listed in this post any better?

    I think competitors had a chance before GitHub released GitHub Actions, unlimited free private repos, and the recently improved search, but at this point I feel like we’re unfortunately stuck with a monopoly.

  • tal@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    GitHub, I strongly imagine, would have no intention of joining in order to maintain and protect their walled garden.

    Git makes it easy to export the code and its revision history.

    I don’t know about issue tracker content.

    I think that the largest amount of lock-in is from familiarity with the interface, which applies to pretty much any service or product to some degree.

    EDIT: While the code and commits may be under an open-source license, I do kind of wonder about the licenses on the other content on the website, like to the pull request material, which is legitimately important in maintaining an open-source project – it documents original rationales and such. Like, can Microsoft block access to them and sell them unless all of the original contributors agree to grant re-publication?

    goes to look

    Yeah. Looking at the text, it sounds like third parties might have rights to the code in the repository via the license, but not the issue tracker and suchlike: the only grant of rights there is to use it via GitHub.

    https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#d-user-generated-content

    1. License Grant to Other Users

    Any User-Generated Content you post publicly, including issues, comments, and contributions to other Users’ repositories, may be viewed by others. By setting your repositories to be viewed publicly, you agree to allow others to view and “fork” your repositories (this means that others may make their own copies of Content from your repositories in repositories they control).

    If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub’s functionality (for example, through forking). You may grant further rights if you adopt a license. If you are uploading Content you did not create or own, you are responsible for ensuring that the Content you upload is licensed under terms that grant these permissions to other GitHub Users.

    It’s probably impossible to track down all of the original creators of comments to get approval for some off-site reproduction, too.

    • Daeraxa@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I think that the largest amount of lock-in is from familiarity with the interface, which applies to pretty much any service or product to some degree.

      I think this is somewhat mitigated with some of the alternatives. You have the much more basic/“traditional” UIs of something like sourcehut which can be a bit of a challenge to get used to if you aren’t familiar. Then you have the “GitHub-like” UIs - GitLab, Gogs/Gitea/Forgejo/Codeberg where people feel instantly comfortable as it is almost exactly the same experience as what they are used to.

  • LedgeDrop@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    I’d say, let’s wait for a catastrophic event at github before we jump ship.

    Git , by its nature, is distributed. If, worse case, github.com went down (without warning). Life would move on, people will have local checkouts of the “important/popular” repos that would be pushed “somewhere else”.

    Yeah, github actions wouldn’t work, build that pull from github repos would need to be refactored, but life would move on.

    • PupBiru@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      totally agree with that! however, from our experience with reddit and the threadiverse, it would have been nice (not expected!) if there’d been a little bit more of a mature alternative: if we had native apps, more stability, etc…

      since OSS is so damn important, it’d be worth hedging our bets: don’t expect github to implode, but understand that OSS is too important to leave in the hands of a single organisation so we should have reasonable ideas and options for what would be a good federated alternative

      im sure projects that deal with things like privacy and getting around national internet blocking (things that have been removed from github for censorship or “copyright” reasons) would be keen on having options

    • 418teapot@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      The problem isn’t the version control itself. Obviously git continues to function and I can commit things offline in a plane. What I can’t do is create/review PRs or read/open issues. That’s easy to brush off, but the most egregious thing is the fact that this used to be federated over email!

      All we needed was more user-friendly tooling to make it easier for new college grads to start contributing to FLOSS, but instead of better email based tooling we got the centralized trash that github is today.

      • LedgeDrop@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        You make a valid point regarding losing important contextual information like PR and open bugs.

        However, I don’t think email offers the same level of visibility as we currently have with github workflows.

        There is an creative Git based issue tracker, I used called git-issue. Basically, the entire bug/issue/pr process is captured as yaml (I think) files, which are kept in a dedicated branch.

        When I used it (as I wanted a self-hosted bug tracker), I found it functional but a bit cumbersome. However, I could see someone creating a very nice github like web interface for it.

        • 418teapot@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Yeah I’ve played with git-issue and agree it’s not ideal. Have you checked out Sourcehut? It is entirely email based but with some pretty great tooling around it to make it more accessible.

          I agree that in a perfect world we have a separate open protocol for all of the non-repository related workflows/data, that has all the features we need. But the nice thing about email is it’s decentralized, and everyone already has it. And in my opinion, with the right tooling built around it, it can get pretty close to the same quality of life as a github PR, but also degrade gracefully without it.

          • LedgeDrop@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            But the nice thing about email is it’s decentralized, and everyone already has it.

            That is true, but in the case of email as an issue tracker: only the people who have received it will know of its existence (unless it’s mirrored on public facing websites - like Debian does with their issue tracking).

            The thing we’d lose is the “ease of access”. Tbh, I’d see Usenet being a better distribution medium than email for OSS apps… but I really appreciate the intention behind solutions like git-issues: move the issue tracking into the same tools used to track code changes. It, in my opinion, is more in line with K. I. S. S.

  • Hexadecimalkink@lemmy.ml
    link
    fedilink
    arrow-up
    1
    arrow-down
    3
    ·
    1 year ago

    What’s the difference between the three Forge links you listed and Forgejo? It’s concerning if there are 4 competing git federation tools being developed…

    • Daeraxa@lemmy.mlOP
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Which ones? The forges I linked were GitLab, Codeberg and sourcehut. Forgejo is the actual forge software that is powering the forge part of Codeberg, it is a fork of Gitea which itself is a fork of Gogs.

      As for the federation things (Forgefriends, ForgeFed and ForgeFlux) I’m not really sure what is going on. Forgeflux doesn’t seem to have anything going on and links to the Forgefriends community forum but looks to be entirely API based. ForgeFed looks to be an activitypub implementation that was, until recently, pretty dead and ForgeFriends is an online service to provide federation between different services.

      Beyond a very basic idea of what they are attempting to achieve I don’t really know the specifics of how each project works, if they are “competing” standards or they plan to work together to a single goal.

  • LollerCorleone@kbin.social
    link
    fedilink
    arrow-up
    0
    arrow-down
    20
    ·
    1 year ago

    This will only happen if more popular projects choose the alternatives, forcing people who want to contribute to them to join those platforms. I am sure that the fact that Ernest chose codeberg over Github for Kbin resulted in several of its current contributors to join that platform for the first time.

    • fourstepper@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I think that’s kind of the benefit of Git repositories in general; you really don’t have to do much to start contributing on any platform, really - just sign up, fork, git clone and MR (for most of them except sourcehut, really, where you use mail to send your patches in)

      The barrier of entry for people that are already comfortable with Github and git in general is basically nonexistent on any of these platforms - which is a plus