A Declaration · MMXXVI
File №09 · Federation Is a Protocol

Centralism scales by making everyone run the same program. Federation scales by letting different programs talk.

An “-ism” can be learned like an operating system. First you learn commands. Then you learn to combine them. Then you discover the thing you actually needed was never another command — it was a protocol.

Different cats · Same network · A freer world
01 · Commands
You learn the basics

An ideology is not a mood. It is a set of things you know how to do.

Learning one changes what a single person can do in a room. Not what they believe — what they can execute. The vocabulary below is not slogans; each one is a practice with a shape, a cost and a competence you either have or don’t.

cat@world — bash

One command can change your day. It cannot change a neighbourhood, and pretending otherwise is how good practices get mistaken for a politics.

02 · Privileges
Some tasks need temporary authority

Nobody sensible claims that no decision ever needs elevated permission. Somebody has to hold the keys to the hall. Somebody has to sign for the delivery. Somebody has to speak for the group at the table for two hours on Thursday.

elevation
cat@world:~$ sudo organize
[sudo] password for cat:
granted — scope: one meeting · expires: Thursday 21:00 · revocable: yes

The objective was never to hand somebody permanent root. It is to notice that sudo is a wrapper with four properties — it is specific, it is logged, it expires, and it can be taken back — and that those four properties are the entire difference between a delegate and a ruler.

A mandate without an expiry is not a mandate. It is an office.

03 · Scripts & the pipe
Combine commands, and the unit changes

Knowing commands changes what one person can do. Combining them changes what a group can do. Tap to build a pipeline and watch the unit of action change underneath it.

community.sh

This is not a metaphor that was invented for the occasion. It is the oldest working idea in systems engineering, and it has a date.

In 1964 Doug McIlroy wrote a memo at Bell Labs: we should have some ways of connecting programs like garden hose — screw in another segment when it becomes necessary to massage data in another way. The infrastructure did not exist. It sat for nine years. In 1973 Ken Thompson said he was going to do it, and added the pipe to the shell in a single night. McIlroy’s account of the next morning is the part worth keeping: an unforgettable orgy of one-liners as everybody joined in the excitement of plumbing.

Five years later McIlroy wrote down why it worked, and accidentally wrote down the politics too:

Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface. M. D. McIlroy · Bell System Technical Journal, 1978

A universal interface. Not a universal program.

The Pipe: three cats connected by glowing green pipes. A gardener produces, a cook transforms, a third consumes. Different cats. Same dinner. No boss required.
Each does one thing well. They pass information, not ownership.

The shape generalises, which is the test of whether a pattern is real. Same structure, four different rooms:

01 · Local food
grow | transport | distribute
Different groups. Shared nourishment.
02 · Knowledge
write | translate | share
Different languages. Shared understanding.
03 · Disaster response
detect | prioritize | deliver
Different skills. Faster help.
04 · Research
research | process | publish
Different places. Shared progress.

In none of them does the first stage own the last. The grower does not employ the kitchen. The translator does not answer to the author. Loose coupling, stronger together — and every stage can be swapped, improved or replaced without permission from the others.

You don’t need to own what comes before or after you. You just need to do your part, and pass it on.

That is the whole property, and it has a corollary worth stating flatly: cooperation composes; control fragilises.

04 · Protocols
Independent groups need ways to talk

Here the problem changes shape. Repeated practices become routines; routines become institutions; and institutions that intend to stay autonomous need a way to deal with each other that does not involve one of them absorbing the other.

A commune does not need to become a union. A union does not need to become a cooperative. A cooperative does not need to become a second, larger cooperative. What they need is an interface.

So write the practices down the way you would document a program — inputs, outputs, required permissions, and the specific way it fails. Tap any card.

man

Notice what the failure column does. A practice that cannot name its own failure mode is not documented, it is advertised — and the most common way federations die is that nobody wrote down how this part breaks.

Seven protocol cards: mutual-aid, delegation, recall, consensus, commons, direct-action and federation. Each lists input, output, permissions, failure mode and what it composes with.
Real tools for real cooperation. Modular, transparent, documented.

These are not rules handed down. They are shared practices for working together as equals, written to be adapted to different places, needs and scales — and written in a format that lets you check whether the group you are in is actually running them.

Tools for cooperation. Not control.
05 · Federation
Different groups, shared protocol

What passes between two autonomous groups is not a merger. It is a handshake — a short, boring, inspectable exchange after which both parties still exist.

federation handshake
COMMUNITY_A → proposal COMMUNITY_B
COMMUNITY_A ← consent COMMUNITY_B
COMMUNITY_A → resources COMMUNITY_B
COMMUNITY_A ← resources COMMUNITY_B
COMMUNITY_A ↔ coordination COMMUNITY_B
 
CONNECTION ESTABLISHED ✓
Not assimilation. Not control. A relationship between equals.

Five steps, and only the fifth is ongoing: propose terms, negotiate openly, share what you can, share in return, then keep talking. Nothing in that sequence requires either party to dissolve.

Make it concrete. Two real-shaped communities, each a record you could actually publish:

community manifests
$ cat community-a.json
{
"name": "Riverside Cooperative",
"type": "food_coop",
"members": 250,
"offers": ["food", "seeds", "education"],
"requests": ["medical_supplies", "tech_support"],
"autonomy": true
}
 
$ cat community-b.json
{
"name": "Highland Mutual Aid",
"type": "mutual_aid_network",
"members": 180,
"offers": ["medical_supplies", "renewable_energy"],
"requests": ["food", "agriculture_knowledge"],
"autonomy": true
}

An urban farming collective of 250 in Cascadia; a rural mutual aid network of 180 in Appalachia. What each offers is what the other requests, which is the entire basis of the connection — and "autonomy": true stays set on both sides after the handshake completes.

A federation handshake between Riverside Cooperative and Highland Mutual Aid: proposal, consent, resources both ways, then ongoing coordination. Connection established.
Two autonomous communities. A stronger whole.

Five properties keep it a relationship rather than an acquisition. No ownership — relationships, not control. Mutual benefit — exchange, not extraction. Ongoing, not once — it adapts. Transparent — open terms, open process. And revocable — either side can end or change the agreement at any time, which is what stops it hardening into an institution.

Not one united power, but a web of free associations.

Networks scale because different machines implement common protocols without becoming the same machine. A federation works the same way, and the phrase for what it achieves is worth being precise about: coordination without absorption. Or, as the sheet puts it — the art of staying different while building together.

06 · Root is not the goal
Why does this require root at all?

Centralised systems solve complexity by escalating privileges. Each hard case gets referred upward, each referral becomes a precedent, and eventually everything that matters requires root.

the sudo problem
cat@world:~$ sudo healthcare
[sudo] password for cat:
Sorry, user cat is not in the sudoers file. This incident will be reported.
cat@world:~$ sudo housing
[sudo] password for cat:
cat@world:~$ sudo education
[sudo] password for cat:
cat@world:~$ sudo food
[sudo] password for cat:
cat@world:~$ sudo freedom
[sudo] password for cat:
 
why does everything require root?

Federation asks the engineering question instead of the moral one. Not who deserves to hold this power — but why is this a privileged operation in the first place? Tap an operation to see it redesigned.

Push authority downward. Reduce the number of privileged operations. Make each delegation specific. Make permissions visible. Make elevation temporary. Make revocation ordinary — not a crisis, not a coup, just a scheduled thing that happens.

And notice that the fix is not a better superuser. It is a different verb. Stop asking for root and start granting capability to the people already standing in the room:

a better way
cat@community:~$ allow healthcare --to community-clinic
✓ community-clinic can provide healthcare
cat@community:~$ allow housing --to housing-coop
✓ housing-coop can build and manage housing
cat@community:~$ allow education --to learning-collective
✓ learning-collective can run schools
cat@community:~$ allow community --to everyone
✓ everyone can participate
cat@community:~$
A system that requires root for basic human needs is not a feature. It’s a bug.
The sudo problem: a cat at a laptop beside a mug reading More cats less hierarchy and a box marked People not permissions. Two terminals compare sudo healthcare, denied, against allow healthcare to community-clinic, granted.
Same needs. Different permissions.

Not one superuser. Many capable users. Six properties do the work:

Local control

Decide locally, act autonomously.

Least privilege

Only the permissions needed.

Transparency

Visible, accountable decisions.

Revocability

Permissions can be changed.

Composability

Combine capabilities to do more.

Resilience

No single point of failure.

Give people the tools, not just the keys. A freer world runs on permission — not permission denied.

Do that and federation stops reading as a philosophical abstraction. It starts reading as systems engineering. Power is easier to take than to share, which is exactly why it has to be built for on purpose.

07 · Two architectures
One scales authority. One scales coordination.

The disagreement is not organisation against chaos. Both of these are organisation. They differ in what grows when you add a participant.

Add a node to the first and you have added something to administer. Add a node to the second and you have added capacity. The unit of scalability is not obedience. It is interoperability.

It’s not a question of chaos or control. It’s a question of architecture.
Two panels. Left in red: Centralized, scale authority, one center, decisions flow down, a root node above a pyramid of dependents. Right in green: Federated, scale coordination, many nodes, decisions flow through, a peer network over a lit valley.
Same people. Different architectures. Different outcomes.

The same population, arranged two ways, produces two different sets of properties. Not two different moralities — two different failure surfaces.

Scale authorityScale coordination
Hierarchy→Network
Control→Coordination
Uniformity→Diversity
Dependency→Interdependence
Extraction→Shared value
Brittle→Resilient
Short-term thinking→Long-term care

A system built on authority requires constant trust, and has to keep manufacturing it. A system built on cooperation scales because the people in it do. Scale authority and you get empires. Scale coordination and you get possibilities.

Which makes the last line the important one: a kinder, freer tomorrow is not a mood, a prediction or a hope. It is a design choice.

A one-page reference sheet: the Federation stack from person to federation of federations, centralization versus federation, the pipe, the sudo problem, seven protocol cards, the federation handshake, a failure-modes table, and a scale ladder from one person to a planetary network.
The whole argument on one sheet.
08 · Failure modes
Problems are real. Design for them.

Any architecture that only publishes its best case is marketing. Here is how this one breaks, and what the design answer is in each case. If you have been in a collective for more than a year you have met at least three of these.

None of these are solved by wanting federation more sincerely. They are solved by rotation schedules, published minutes, sunset clauses, redundant capacity, and a written procedure for recall that somebody has actually used at least once without the group collapsing.

Real problems. Better tools. A more resilient tomorrow.

09 · Scale
One command doesn’t scale. A protocol does.

Once independent groups can talk through shared protocols, those federations can talk to other federations. The same move repeats at every level, which is the definition of a protocol that works.

01Person — one command can change your day
02Household — a few can share responsibilities
03Cooperative — a group can meet real needs
04Neighbourhood — communities coordinate locally
05Region — resources and knowledge move
06Continent — collaboration across borders
07Planet — a network, not a pyramid

And this is the part that is not wishful. Elinor Ostrom won a Nobel for documenting how real commons are actually governed over long periods, and the eighth of her design principles is nested enterprises — appropriation, provision, monitoring, enforcement, conflict resolution and governance organised in multiple layers rather than one. Her other principles read like a checklist for this page: those affected participate in modifying the rules, monitoring is mutual, sanctions are graduated, conflict resolution is cheap and local.

That is not a manifesto. It is fieldwork on irrigation systems, forests and fisheries that outlasted the states around them.

Not one process owning every other process. Processes talking to processes. Not permanent root — permissions. Not command and control.

Nine-panel poster: commands, privileges, scripts, protocols, federation, scale, the Unix insight, root is not the goal, a freer world. Different cats. Same network. A freer world.
Different cats. Same network.
Note 01
The pipe. McIlroy’s garden-hose memo, 1964; Thompson’s overnight implementation in Version 3 Unix, 1973; and the three-sentence philosophy in McIlroy’s foreword to the Unix issue of the Bell System Technical Journal, 1978.
Note 02
Nested enterprises. Elinor Ostrom, Governing the Commons, Cambridge, 1990 — the eight design principles, of which the eighth is the federative one. Nobel Memorial Prize in Economic Sciences, 2009.
Note 03
The federative principle is the series’ own root text — Proudhon, Du Principe fédératif, 1863. File №01 is where this argument starts.
10 · Getting started
From an idea to a lasting thing

None of the above requires a corporation, a government or a budget.

It requires people who care, a few ordinary tools, and a willingness to write down how you have agreed to work. Seven steps, in the order they actually happen:

1

Gather people

Find your core group.
  • Start with a few committed people, not a mailing list
  • Say out loud what you share
  • Be inclusive and open from the first meeting, because it is far harder to add later
2

Choose a focus

Pick a local need.
  • Identify a real need in your area — not a cause, a need
  • Start small
  • Build on what already exists rather than founding a rival
3

Set up your tools

Use open, federated tech.
  • A chat space you control — Matrix, IRC, or another federated platform
  • A shared document space — Nextcloud, Etherpad
  • Keep ownership of both inside the community; a group that rents its own memory has a permissions problem it has not noticed
4

Agree on principles

Be clear and kind.
  • Write a short statement of shared values
  • Keep it simple enough that a new person can read it in one sitting
  • Revisit it on a schedule, and change it together
5

Take action

Do something real.
  • Run a project or an event — something with a date
  • Share resources
  • Support each other, and learn as you go
6

Connect

Link, share, grow.
  • Announce that you exist
  • Link with other communities, and publish what you offer and what you need
  • Share knowledge and tools — stay autonomous, but collaborative
7

Keep going

Sustain and adapt.
  • Rotate roles, on a schedule, before anyone becomes load-bearing
  • Welcome new people properly
  • Celebrate progress, and adapt to new needs
Build a Community: seven steps to start a federated community, from gathering people through choosing a focus, tools, principles, action and connection, to keeping going.
Same tools. Different places. Real change.

Step six is the one this whole file has been about. Everything before it a good group can do alone. Step six is where a good group stops being an island, and the only thing it requires is that both sides have written down what they offer, what they need, and that they intend to stay themselves.

You don’t need permission to build a better world. You just need people.

A small group of committed people can change a neighbourhood. Many small groups, federated, can change rather more than that — and the difference between those two sentences is not enthusiasm. It is a protocol.

10 · Carry the line
Compose. Coordinate. Liberate.

Ten ready-to-post lines from the page above. Every one carries the link back here.

Or share a graphic — each one has its own page and its own social card, so pasting the link renders that image rather than this one.

· The Declaration ·

Not one process owning every other. Processes talking to processes.

The Federation seal: five cats before a networked globe under the words The Federation, felineunion.org. Different cats. Same network. Coordinate, cooperate, liberate.
Compose · Coordinate · Liberate