figbert.com-website

[ACTIVE] the website and home of figbert on the clearnet
git clone git://git.figbert.com/figbert.com-website.git
Log | Files | Refs | README | LICENSE

commit 4c2ab568a68eeabd90de175c1338dd67dff9dc24
parent 529cdc7f9657122c676b1b6b735ef74e5f582db0
Author: FIGBERT <figbert@figbert.com>
Date:   Tue, 30 Jul 2024 12:03:57 -0700

Add Ideating Tragit

Diffstat:
Acontent/posts/ideating-tragit.md | 91+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+), 0 deletions(-)

diff --git a/content/posts/ideating-tragit.md b/content/posts/ideating-tragit.md @@ -0,0 +1,91 @@ ++++ +title = "Ideating Tragit" +date = 2024-07-30 ++++ + +There are many, many `git` forges to pick from. I'm going to make +another one—but before I do, I'm going to do a little thinking out loud, +and outline the what and why of this side project I'm embarking upon. + +<!-- more --> + +Decentralization is hugely important for the long-term health of the +internet. Indeed, this quality has been fundamental to the network since +its inception. This is easy to forget, and hard to see, now. But email +was not always Gmail and `git` was not always GitHub.[^1] + +A big reason that these protocols have become so centralized is because +the companies that offer these services have genuinely innovated on +form. Google *invented* effective, user-friendly webmail. They pioneered +email's contemporary security features and user-facing advancements. +They were rewarded for that with users. + +Nowadays, however, these capabilities no longer require the dedicated +engineering of whole teams of Google 10x-ers. With the mature and +effective tools and languages available to every developer, the +evolution of the open-source ecosystem, and the integration of big-corp +features into the open standards of the web, self-hosting does not have +to mean settling for less. + +This has played out most clearly, again, with email. If you wanted to +email people, you used to have two choices: assemble the world's largest +house of cards and hope the incantation you crafted from terrifying +words that make no sense like [dovecot] and [mailcow]—which represent +interconnected services that do things you only sort of +understand—actually works with any meaningful consistency, or sell out +to the Oligarchs. No longer! Want one open-source binary to take care of +sending, receiving, security, accounts, redirects, and everything else? +It exists, and it's called [maddy], and I've been using it to host my +email for years now with no effort. + +`git`, on the other hand, is very much still in the first stage. You +can, of course, use [GitHub]. It is a colossus, practically unavoidable +as a developer, and enabled my start as a programmer. The pull request +collaboration paradigm they created has totally supplanted the +[email-based method] that preceded it. But if you want your code to live +outside of Microsoft's proprietary claws, the process is far from +simple. + +[My own setup] is representative of this problem, and quite janky. It's +a delicate combination of [`stagit`] and the built-in [`git-daemon`], +running via Docker Compose, pointed at the home folder of a bespoke +`git` user. I push to the server over `ssh`, relying on some weird +nested home directory hack that makes me very uncomfortable in order to +have a nice destination string. To publish a repo I have to create two +separate magic files, `git-daemon-export-ok` and `stagit-export-ok`. +Metadata lives in aptly-named files like `description` and `owner`.[^2] +I clone and pull with the daemon's `git://` protocol. Any changes mean I +have to restart `stagit` so it will generate the relevant pages again. +Collaboration is allegedly facilitated over email with a [crabmail] +instance, but it's been broken since I first attempted to set it up. +The whole thing is rather delicate and rough around the edges, which is +maybe the worst combination of characteristics for an important service. + +I think there's a real opportunity here to build something that could +have an outsized impact on the self-hosted web. I don't want my git +setup to evoke the same feelings as the word "modem." I don't want to +compromise. I want big tech capabilities in a small and efficient +package. So let's leverage ecosystem advancements, think deeply about +how we can [facilitate collaboration], and make something. + +Keep an eye out for some form of [tangible] [deliverable] in this area +sometime (hopefully) soon. I'm probably going to call it Tragit. + +--- +[^1]: I have met a profoundly depressing amount of young programmers who +cannot distinguish the latter two. +[^2]: The latter of which, of course, is purely aesthetic and has no +bearing on security or access rights. + +[dovecot]: https://www.dovecot.org +[mailcow]: https://mailcow.email +[maddy]: https://maddy.email +[GitHub]: https://github.com +[email-based method]: https://git-send-email.io +[My own setup]: https://git.figbert.com +[`stagit`]: https://codemadness.org/stagit.html +[`git-daemon`]: https://git-scm.com/docs/git-daemon +[crabmail]: https://crabmail.flounder.online +[tangible]: @/posts/tangible-deliverables.md +[deliverable]: https://fosstodon.org/@FIGBERT/112734909021642855 +[facilitate collaboration]: https://pr.pico.sh