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 (2309B)


      1 ---
      2 title: "Git is a distributed version control system"
      3 date: 2024-01-14T21:12:10-08:00
      4 draft: false
      5 categories:
      6 - Programming
      7 tags:
      8 - Git
      9 ---
     10 
     11 [SourceHut](https://sourcehut.org/), a hacker[^hacker]-oriented code
     12 [forge](https://en.wikipedia.org/wiki/Forge_(software)), recently suffered a
     13 couple days' downtime due to a [sustained DDoS
     14 attack](https://outage.sr.ht/), and parts of it are still coming online.
     15 
     16 I'm impressed by the way Drew and SourceHut are handling the situation, but
     17 it's a good reminder that "Git is a _distributed_ version control system".
     18 Code forges are useful tools---and I'm really grateful for [alternatives to
     19 GitHub]({{< ref "giving-up-github" >}})---but programmers who use Git should
     20 keep themselves familiar with the tooling built right into it for completely
     21 distributed workflows, such as
     22 [git-send-email](https://git-scm.com/docs/git-send-email)[^email] and
     23 [git-request-pull](https://git-scm.com/docs/git-request-pull). Even if only
     24 to stay well-prepared for situations like this one.
     25 
     26 But we can be more proactive by mirroring other people's code; after all,
     27 the writings that survive from the classical world are only around today
     28 because people kept making copies of them. It's naive to think that _any_
     29 website will last forever, so those of us with our own self-hosted
     30 repositories[^repos] can make our communities more resilient by hosting
     31 clones of software projects that we find useful or culturally important. I
     32 posted [a copy of the core Uxn
     33 distribution](https://git.eamoncaddigan.net/uxn/)[^uxn], not because I think
     34 my little website will necessarily be around longer than SourceHut or
     35 Hundred Rabbits', but because the likelihood of all three becoming
     36 unavailable is slightly smaller than that for just the latter two.
     37 
     38 [^hacker]: In the sense used by, e.g., Levy (1984).
     39 
     40 [^email]: <https://git-send-email.io/> is a great resource, but in an ironic
     41     twist (in the Morissettian sense), the site is currently unreachable as
     42     SourceHut recovers from the DDoS.
     43 
     44 [^repos]: Even if they're simple static sites serving over [the "dumb"
     45     protocol](https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols).
     46 
     47 [^uxn]: Which nudged me to return to my [December Adventure]({{< ref
     48     "december-adventure" >}}) project, after taking a couple weeks off.