Meet gwit: Human-scale, Distributed Sites over Git


Hi everyone! I'm Degauss, pleased to meet you! This is my first log entry in The Oldest gwit Site, where I'll write about gwit to document it, spur conversations on its evolution, and help others adopt it.

But what's gwit? In summary, gwit is an effort to create a distributed and future-proof digital publishing system as simple, lightweight and human-friendly as possible. It can host your current static Gemini or Web site, too. And it needs your help.

gwit - Web sites over Git

gwit is inspired by an article by Solderpunk (originator of the Gemini protocol), and it can be summarized as Git (with PGP commit signatures) for content distribution, plus a URI format for content linking. Sites are published as files in a Git repository, and they are retrieved with full content and history by readers, then browsed or searched privately offline. Updates are efficiently published and retrieved, and may be handled locally without RSS or Atom feeds.

Low budget P2P content distribution with git (by Solderpunk)
Low budget P2P content distribution with git (via Gemini Portal)
The Git version control system

As content is signed by the key used to address the site, one can easily verify that it hasn't been tampered with. This allows anyone to publish their copy of any given site anytime for others to read, like a future-proof, distributed Wayback Machine without crawling or trust issues.

All of that is mostly Git at work, save URIs and links. To bridge key-based URIs and Git remote locations, gwit sites may introduce other sites and how to retrieve them. They may also suggest petnames for themselves and others, so that links become more readable.

Petnames: A humane approach to secure, decentralized naming (Spritely Institute)

Currently, gwit is just an evolving technical specification (with no supporting software yet), and it needs the participation of people involved in the smolnet, permacomputing, community networks, and other convivial technologies. If you want to join the discussion, please check the specification and contact me via email (my name at selidor.net) or, better yet, send your comments to the "gwit-spec" mailing list.

The gwit specification
Discussion list for the specification

Thank you, and see you around!

🍃

🗒️ Back to log index