Sure, I know a lot of projects have been on GH since before MS bought it, but they’ve owned it for quite a while now, so we really should be seeing better migration out by now, no?

Codeberg is nonprofit which seems more in the spirit of the Linux ecosystem overall. GH is for-profit…

  • BartyDeCanter@piefed.social
    link
    fedilink
    English
    arrow-up
    59
    ·
    20 hours ago

    Two main reasons: history and network effects.

    GitHub was an independent company for a decade that provided a vastly superior service to what it replaced, primarily SourceForge. And it was free for FOSS projects, while charging for closed ones.

    The improvements paid for by the closed source customers trickled out to everyone. So, it became the best place for FOSS developers, large and small. And as more people moved to GH, the more reason there was to move to it.

    Of course, it was constantly bleeding money and eventually had to do something. That ended up being selling to MS.

    There was a lot of trepidation about this, but for the first few years they not only kept their promise about supporting FOSS, but actually made it better by allowing small private repos to get many of the services that were previously gated for open FOSS or paid repos.

    And the alternatives were stil not as good, and just as importantly didn’t have the user networking that GH does.

    Now, some FOSS people are starting to look elsewhere, Codeberg, self-hosted Forgejo, and others. They have come a long way and are nearing feature parity, particularly for smallish projects. But the network effects of discovery and reputation are strong, and GH still provides a few more useful features.

    I’ve moved my private repos to self hosted Forgejo, but my public ones are still on GH as push mirrors. I’m not ready to give up the discoverability and Mac/Windows CI runners that I can get from GH for free. I hope to be able to some day, but not yet.

    • Bogus007@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      6 hours ago

      Just to give some relevant information: Git, the major program behind GitHub, has been developed by Linus Torvals. The license allowed the free use of git until today. Some people took git and built a web application around - GitHub was born. Sure they added some features, but the engine was git! In 2018 these “creators” of GitHub sold their product to Microsoft. They gave a s**t on the community and what may happen afterwards.

    • MonkeMischief@lemmy.today
      link
      fedilink
      arrow-up
      9
      ·
      11 hours ago

      There was a lot of trepidation about this, but for the first few years they not only kept their promise about supporting FOSS, but actually made it better by allowing small private repos to get many of the services that were previously gated for open FOSS or paid repos.

      • They embraced! :D
      • They extended! :D
      • . . .aw, shit. :/

      I’ve only a basic understanding of using Git myself, but I think I’m gonna learn it with a self-hosted Forgejo for my Godot projects too.

      Then for the parts that don’t have feature parity, I won’t know what I’m missing, and I have no need for “iNdUsTrY sTaNdArD LeAdiNg oPtiMiZeD sYnErGyStiC wOrKfLoWs” or whatever hahaha.

      It does definitely present a conundrum if you want people to see your open source software though. Damn network effect. =\

      • BartyDeCanter@piefed.social
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        10 hours ago

        The number one thing to remember about git is that you don’t need a full hosting service around it for basic functionality. If it’s just you, a single local repo will probably serve you just fine, maybe use a bare repo on your main machine or a Pi-level device if you like as a remote/backup. Just git init or git init --bare and you’re good to go. GitHub, Codeberg, Forgejo, and all the others exist to serve multi-contributor and/or public project-level needs.

        The number two thing to remember is that it is based around graph theory.

        • MonkeMischief@lemmy.today
          link
          fedilink
          arrow-up
          1
          ·
          35 minutes ago

          That’s some really helpful advice, thank you! 😃 I actually didn’t know you could just make any local folder a repo like that.

          Would a Forgejo instance still be helpful if I wanted to have “one point of truth” between multiple machines even if I’m the only dev? I already use Syncthing, but for some reason I feel like there’d be a lot of sync conflicts and stuff.

          The other main reason for wanting to learn Git, of course, is because it’s otherwise more difficult to try out changes to scripts and experiment, without finding yourself lost in the weeds and forgetting what worked last.

          My current “version control” is “copy the entire project folder before you do anything major.” 😂