www.eamoncaddigan.net

Content and configuration for https://www.eamoncaddigan.net
git clone https://git.eamoncaddigan.net/www.eamoncaddigan.net.git
Log | Files | Refs | Submodules | README

index.md (3093B)


      1 ---
      2 title: "Giving up GitHub"
      3 date: 2022-06-26T19:54:49-04:00
      4 draft: false
      5 description: "How and why I'm self-hosting my code repositories."
      6 categories:
      7 - Programming
      8 - Personal
      9 tags:
     10 - Git
     11 ---
     12 
     13 Today I deleted my account on GitHub, and I've moved some of my public
     14 repositories to <https://git.eamoncaddigan.net/>. If you're looking for
     15 something that's not hosted there, please reach out to me and I'll send you
     16 whatever you need. 
     17 
     18 My new self-hosted repository is built with
     19 [stagit](https://codemadness.org/stagit.html); it's ideal for hosting
     20 single-owner repositories on static websites, which perfectly describes my
     21 use-case. I found this tool through a
     22 [Gemini](http://gemini.circumlunar.space/) post about
     23 [git-request-pull](https://alex.flounder.online/gemlog/2022-05-11.gmi), one
     24 of the alternatives to using GitHub to coordinate collaborative software
     25 projects.
     26 
     27 I've been meaning to migrate from the service since 2019, when [GitHub
     28 leadership ignored calls from the community and their employees to not renew
     29 its contract with Immigration and Customs Enforcement
     30 (ICE)](https://web.archive.org/web/20210322043039/https://www.washingtonpost.com/context/letter-from-github-employees-to-ceo-about-the-company-s-ice-contract/fb280de9-2bc3-40d5-b1a5-e3b954bf0d25/).
     31 More recently, the company released a new product, [which violates the
     32 spirit—and potentially the letter—of the  licenses of many of open source
     33 projects](https://fossa.com/blog/analyzing-legal-implications-github-copilot/)
     34 that have made their business possible. This was apparently the nudge I
     35 needed.
     36 
     37 GitHub has become synonymous with Git, but anyone can use the powerful ([but
     38 difficult to master]({{< ref "posts/design-everyday-programs/index.md" >}}))
     39 revision control system (RCS) without using GitHub at all. For the solo
     40 coder (or data analyst), initializing a local repository will provide most
     41 of the benefits of using an RCS, such as the ability to roll-back changes or
     42 explore different ideas using branches. [Gitea](https://gitea.io/en-us/) is
     43 a self-hosted GitHub alternative that operates in a similar vein, but
     44 philosophically, I'm drawn to approaches that leverage the distributed
     45 nature of the tool, such as
     46 [`git-request-pull`](https://git-scm.com/docs/git-request-pull),
     47 [`git-format-patch`](https://git-scm.com/docs/git-format-patch), and
     48 [`git-send-email`](https://git-scm.com/docs/git-send-email).
     49 
     50 I've become much more confident with Git in the years since I [last wrote
     51 about it]({{< ref "posts/design-everyday-programs/index.md" >}}), but I
     52 stand by my critique that effective Git use requires the user to understand
     53 too many implementation details (although, if you want to get started down
     54 that path, [here's a great
     55 post](https://nfarina.com/post/9868516270/git-is-simpler) to get you
     56 started). GitHub attempted to lower the barrier to entry, and they deserve
     57 praise for that. However, I've come to feel that the trade-offs they made to
     58 "simplify" Git were the wrong ones, and the company has shown poor judgment
     59 in too many other areas for me to continue endorsing their service.