Why gopher on Nostr

Gopherspace has one endemic disease: holes die.

The hobby box behind your favourite phlog loses power, a domain
lapses, a university closes an account, and fifteen years of
writing are gone. RFC 1436 has no notion of an author, so nothing
in the protocol survives the hostname. Even while a hole is up,
nothing in the wire format can prove who wrote what.

gopherkind moves the hole off the box. A document is a signed Nostr
event, kind 31436, named for the RFC. It lives on whichever relays
its author chose. Any bridge that can retrieve a copy serves it to
any gopher client written since 1991.

What that changes:

  The hole belongs to an npub, not a hostname. Lose the machine
  and another bridge serves the same signed events. That removes
  one point of failure; it does not promise relays keep events
  forever, and this project will not pretend otherwise.

  Every document proves its author. A signature travels with the
  text, so a copy served by a stranger is still verifiably yours.

  Editing is replacement, not a new address. The path is the
  event's d tag, so revising a page keeps every link alive.

  No bridge is load-bearing, including this one. The command line
  client reads relays directly, so a hole is readable with no bridge
  at all, and standing one up is a single command if you want a door
  on the web. Every bridge announces itself to Nostr clients on its
  own key, so no operator's list is the list.

  Every npub is already a hole. Profile, notes, long-form articles,
  follows and followers render as menus and text with nothing
  published at all. Gopherspace quietly grows by the whole Nostr
  userbase, and taking over your own hole is just publishing.

The trade runs both ways. Nostr clients are timelines built for the
scroll, and long writing is buried an hour after it is posted.
Gopher is the opposite temperament: a reading room, where structure
is mandatory and nothing on the page is competing for your
attention. No trackers, no fonts, no cookie banner, no layout
shift. Text, menus, and whatever renders them: lynx, VF-1,
Lagrange, a terminal, an Amiga.

Cameron Kaiser wrote that gopher divorces interface from
information, and that gopher and the web should coexist. Add Nostr
and all three read the same documents, while the writing outlives
the box it was typed on.

You are reading this over the web.
The same document is served on all four. That is the argument.

Start here

Open a hole: any npub works

The author's own hole

Source, docs and issues

The kind 31436 spec

gopherkind.com, a public bridge on the web

Run your own bridge, and announce it to Nostr clients

Keeping it alive

gopherkind is unfunded work: no company, no token, no ads,
no custody of anyone's key, and nothing to sell you. It is
paid for in evenings. If it earns a place in your week, the
cheapest way to keep it going is to fund an evening of it.

Zap: npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2

Support the work (Ko-fi)

Support the work (Geyser, Lightning)