Status · 24 h
Riverside Bakery225 rec ◆ 0The Orchard56 rec ▲ +10The Orchard Group28 rec ◆ 0poezine.orguptschoonover.comupTEMP44.6°C ▲ +1.6°DISK60.1% ▲ +1.7 ptMEM53% ▲ +1 ptLOAD0.24 ▲ +0.13UP6d 10hTUNNELrunningRADICLEdown
poezine.org

Make something people can run together.

Software for any group that wants to set its own rules and keep its own books. Everything the group does is written down, signed by whoever did it, and checked by everyone who holds a copy. Whoever runs the server has no way to quietly change what happened.

Start

a companya banda co-opa newsrooma currencya city councila book cluba tenants’ uniona fan cluba republica guilda family funda student governmenta leaguea communea zine collectivea laba party
hold an electionkeep a treasurywrite a constitutionsign an agreementissue sharessplit the chorestake minutesappoint a treasurervote on anythingfork when you disagreeadmit a memberset a budget
Branches fork off and merge back. A fork keeps the whole history behind it.
§01What a Git Republic is

Picture a folder that governs itself. Inside are the group’s members, its rules, and every decision it has made, in order. Copy the folder and you have all of it, history included.

The folder only changes the way its rules allow. Someone proposes, people vote, and the result is signed into the record. If anyone edits the files by hand, every other copy notices. The rules sit in the same record, so changing them takes a vote too, usually a harder one to win.

genesis 267fe5c1 #1 0a921f9c #2 a4265c3d #3 5ce2a38b #4 a88c96ee #5 482db1e9 #6 bb7738d5 #7 b3c61106
Drawn from real hashes. Each box holds the fingerprint of the one before it.
§02What you can do with one
  • Let anyone join, or admit people by vote.
  • Decide by simple majority, by two thirds, or over two readings a month apart, depending on how much a change matters.
  • Elect people to offices, and give them powers with limits you set and can take back.
  • Keep money: a budget, a treasury, a currency of your own, shares that pay dividends, a fund the members invest together.
  • Write things down: a constitution, bylaws, minutes, a wiki, agreements members sign.
  • Run the everyday: meetings, chores, a forum, polls.
  • Split, if it comes to that. A fork keeps the whole history, and everyone keeps their keys.
§03How it holds together

Every act (joining, proposing, voting, paying) is signed with the key of the person who made it. Signed acts are folded into a chain where each record carries the hash of the one before, so changing anything in the past changes everything after it. Folding is deterministic: the same acts always produce the same record, byte for byte, on any machine.

When you open a republic’s page, your browser downloads the record and replays it from the first act, checking every signature on the way. What you see is your browser’s own reading of the record.

Features come as modules, and a module is installed only by vote, pinned to the exact code the members approved. Upgrading anything, the core included, means replaying the whole history with the new code first. If a single byte would come out differently, the upgrade is refused.

Copies travel over Radicle, peer to peer. Where it matters which copy is right, the members can name validators who sign checkpoints; two thirds of them make a record final, and anyone who signs two different histories has proven it with their own signature.

§04Running here now
§05Start one

You need a computer with Node.js 20 or newer. Nothing else.

git clone https://github.com/ttschoonover/entity my-republic
cd my-republic
node cli/index.js preset apply assembly
node cli/index.js found --id you --name "My Republic"
node cli/index.js serve --settle

Then open http://localhost:7780. The program is called entity; Getting started walks through the rest, from inviting people to putting it online.

§07 Who runs thistschoonover.com

Timothy Schoonover

I study political economy at Berkeley and Sciences Po, and I wrote the Git Republic. This site runs on a Raspberry Pi on my desk, so now and then it goes down. Every republic keeps copies elsewhere, so nothing is lost when it does.

tschoonover.com →