Taking part

Every route here leads somewhere real.

Each path below states who it is for, what the next action actually is, and — because this is where participation pages usually rot — what keeps the destination alive and what to do if it stops working.

If a route turns out to be a dead end, that is a bug in this page. Please say so.

Choose a route

Technical contributors

Write code, tests, or tooling

The repository is a large Rust workspace with a real contribution surface: kernel and app crates, a gateway, a CLI, and a documentation control plane. The architectural guardrails are written down, and they are enforced — reading them first will save you a review round.

Read the contributing guide, then build the workspace ↗
Who keeps this working?
Maintained by
Lives in the repository and is updated with the code it describes. Broken setup steps are ordinary bugs and get fixed like any other.
If it stops working
Open an issue on the repository. A broken contributor path is treated as a defect, not a documentation nicety.
Technical contributors, first time

Pick a scoped first issue

A small, deliberately curated set of issues that are genuinely self-contained — they have a clear boundary, a stated expectation, and do not require holding the whole architecture in your head. The label is not applied to make the project look welcoming; if an issue turns out to be larger than advertised, say so on the issue.

Browse the open good-first-issue label ↗
Who keeps this working?
Maintained by
Curated by hand on the repository. Issues are removed from the label when they stop being newcomer-sized.
If it stops working
If the list is empty, that is accurate rather than broken — ask in Discussions what would be useful right now.
Organizers, writers, researchers, designers

Contribute without writing code

The project is short on plain-language review, accessibility testing on real assistive technology, governance and policy thinking, translation, and documentation that a non-engineer can follow. This is not filler work — the member-facing surface is the part of ICN furthest behind, and that is a design and language problem at least as much as an engineering one.

Start a discussion describing what you would like to work on ↗
Who keeps this working?
Maintained by
GitHub Discussions on the main repository, watched by the maintainers alongside issues.
If it stops working
Use the Discord server instead — it does not require a GitHub account.
Anyone, without a GitHub account

Ask a question somewhere informal

Not every question is worth opening an issue for, and requiring a GitHub account to ask one narrows who can participate to people already comfortable with developer tooling. The chat server is the doorway that does not.

Join the Discord server ↗
Who keeps this working?
Maintained by
Run by the project. It is the deliberate non-GitHub entry point, and exists so participation does not require a developer account.
If it stops working
If the invite has expired, open an issue on the repository saying so — an expired invite is a broken front door.
Cooperatives, communities, federations

Work out whether ICN could carry anything for you

The honest current answer for most institutions is "not yet, and here is specifically why". Before any conversation about adoption, it is worth understanding what exists, what is demonstrated only against fixtures, and what the project has not built. That page is written to be read by someone deciding whether to spend their organisation's time.

Read the institutional evaluation page, then open a discussion
Who keeps this working?
Maintained by
A page on this site, written against the same generated project-state data as the maturity account.
If it stops working
Read What's real now directly — it carries the per-subsystem claims and their evidence.
People who want project updates

Follow the work without joining it

There is no mailing list. Setting one up would mean asking you to trust that we will actually send it, and the project would rather point at something that updates whether or not anyone remembers to write a newsletter. Watching releases on the repository, or reading the recent-state-changes section of the maturity page, both do that.

Watch the repository, or read recent state changes ↗
Who keeps this working?
Maintained by
GitHub's own watch mechanism. Nothing for the project to forget to do.
If it stops working
The recent-state-changes section of What's real now is generated from the repository on every build.
Supporters and funders

Sustain the engineering work

GitHub Sponsors is the only funding rail the project currently has. There is no foundation, no token, no equity, and no membership tier that buys influence over decisions — sponsoring supports the work and does not purchase standing in any institution ICN serves.

Sponsor the project on GitHub ↗
Who keeps this working?
Maintained by
GitHub Sponsors, tied to the organisation account. No separate payment infrastructure to maintain or lose.
If it stops working
Open a discussion — the project would rather talk about it than route money through something improvised.

Where the work is visible

Everything the project does happens in the open, including the parts that are unfinished. These are the surfaces to read if you would rather look than ask.

  • Source and issues Everything the project builds, in public, including the parts that are not finished.
  • Discussions Design and institutional questions that are not yet issues.
  • Decision record The ADRs and RFCs behind why the system is shaped the way it is.
  • Current project state What is built, how it is evidenced, and what the project records as missing.
On repository statistics

This page used to publish counts of branches, merged pull requests, and documentation files. Those are gone. A branch total counts dead branches, a merged-PR total measures nothing a reader cares about, and neither had a freshness guarantee. The project state page reports the things that are worth reporting, with the date each was verified.

In depth

The sections below go step by step through each path — the actual build commands, the checks to run before pushing, what an institution would need to bring, and what the project is honest about not having.

01
Build

Developers and engineers.

Rust workspace, actor-based runtime, strict kernel/app separation. If you write systems code and want to work on cooperative infrastructure that is not another SaaS or token protocol, this is the path.

  1. Read first

    • For Developers — what ICN is as a system, and what it is not.
    • Architecture — meaning firewall, kernel/app separation, policy oracles.
    • What's Real Now — what is load-bearing today and what is still being built.
  2. Prerequisites

    • Rust toolchain (pinned — don't upgrade it). Toolchain version lives in icn/rust-toolchain.toml.
    • Git.
    • Roughly 8 GB of free disk for a full build + incremental cache.
  3. Clone and build

    git clone https://github.com/InterCooperative-Network/icn.git
    cd icn/icn
    cargo build
    cargo test --workspace --lib

    The Rust workspace lives inside the icn/ subdirectory, not at the repo root. Run all cargo commands from there.

  4. Orient in the repo

    • README.md — repo map and first-stop routing for contributors.
    • docs/GETTING_STARTED.md — build, run, and verification quickstart.
    • AGENTS.md — operating rules, verification commands, invariants, crate layout.
    • CONTRIBUTING.md — architectural guardrails and the regulatory invariants PR checklist.
    • CLAUDE.md — deep project map (also useful even if you aren't using Claude Code).
  5. Pick an initial area

  6. Verify before you push

    cargo fmt --all --check
    cargo clippy --workspace --all-targets --all-features -- -D warnings
    cargo test --workspace --lib

    Run these from icn/, the Rust workspace you entered in the build step. Full routing table is in AGENTS.md.

  7. Submit

    Work on a feature branch (feat/<slug>, fix/<slug>, docs/<slug>). Open a PR against main. Every PR includes a what, why, risk, and test plan. If the change touches gateway APIs, ledger logic, or member-facing text, step through the regulatory invariants checklist in CONTRIBUTING.md.

02
Contribute

Writers, designers, researchers, organizers.

ICN is not only a Rust project. The system has to be described, designed, stress-tested, and translated into something cooperatives can actually use. The work below is real and needed.

Documentation

Writing that explains what the system actually does without overclaiming. Gaps we know about: user-facing guides for non-developer members, step-by-step operator guides, explainers that keep What's Real Now honest as the surface changes.

First step: read docs/INDEX.md, find a gap, open a docs issue with type:doc.

Design and member-facing UX

The member-facing experience is the part of the system most visibly trailing the capabilities underneath. Design work on how identity, standing, governance, and receipts cohere into something a person can use is wanted and has room.

First step: read docs/design-language/brief-v0.md and start a discussion describing what you would want to work on.

Research, policy, governance

Cooperative governance patterns, policy mechanisms, economic accounting rules, regulatory framing. ICN is shaped by how real institutions actually run; we need people who know that terrain to push back on designs that won't survive contact with a real membership.

First step: open a GitHub Discussion under Ideas or General with the question or proposal.

Testing and pilot feedback

Running the daemon, running through the flows, filing specific bugs, and telling us where the experience breaks down. Adversarial reading of the public site and docs is valuable — inconsistency between What's Real Now and the rest of the site is a defect.

First step: Getting Started to stand up a node, then open an issue for anything that breaks, misleads, or surprises.

Community and ecosystem

Connecting ICN to the cooperative, solidarity-economy, and public-interest-technology networks that should know about it. Introductions to aligned projects and institutions. Organizing conversations about cooperative infrastructure that don't route through platform incumbents.

First step: join the ICN Discord server or post in Discussions.

Translation and localization

Cooperative movements are not Anglophone. The public site, docs, and concept glossary will need to be readable across at least the languages where active cooperative infrastructure communities already exist. This work has not started and is open.

First step: open a Discussion describing the target language and which surface (site, docs, glossary) you want to cover first.

03
Partner

Cooperatives, federations, aligned institutions.

If your cooperative, network, or aligned project is thinking about ICN as institutional infrastructure, the honest frame is not "vendor selection." It is early collaboration on infrastructure that is still being built.

Observe

Follow the work before committing

Read For Cooperatives and What's Real Now. Watch the repository on GitHub. This is the right relationship for most cooperatives right now — you stay oriented without investing engineering capacity in something that isn't ready to hold your institution yet.

Contribute expertise

Bring how your institution actually runs

Governance patterns that work, accounting rules that don't fit generic tools, federation relationships that current software can't carry — this knowledge shapes the infrastructure. You don't need to write code to do this. Open a Discussion describing what your institution does and where the current stack fails.

Early collaboration

Work in depth, with engineering capacity

If your institution has the capacity and the interest, working with the project directly as a cooperative or federation willing to shape how the infrastructure gets built is an option. This is engineering-heavy. Cooperatives engaging this way are co-building the substrate.

The current path is: open a Discussion describing your institution, the scope of engagement you have in mind, and the engineering capacity you can commit. How cooperative infrastructure works.

04
Support

Sponsor the work financially.

ICN is open infrastructure. Financial support goes to sustaining engineering capacity on the infrastructure — not to a commercial product with an investor ladder behind it.

GitHub Sponsors

The current financial-support rail is GitHub Sponsors, at the organization level. Sponsorship goes to sustaining work across the whole project, not to a specific sub-project or individual.

This is the only live donation rail today. We are not running Patreon, Open Collective, or a fiscal-sponsor donation portal. If a more structured funding path (fiscal sponsor, grants, institutional membership) becomes appropriate, it will be described on this page when it exists — not before.

Sponsor on GitHub ↗

What we are honest about

  • There is no paid support contract. Sponsoring the project does not buy you a support SLA, a hotline, or prioritized issue handling.
  • Sponsorship is not a security audit commitment. ICN's security posture stands on its own architecture and code review; sponsors are not promised an audit in exchange.
  • We are not issuing tokens, equity, or governance rights in exchange for funding. ICN's governance lives in the cooperative infrastructure it builds, not in a funding tier.
  • For institutional funding conversations — grants, fiscal sponsorship, aligned-foundation support — open a Discussion describing the funding context. The project will respond in the open where possible.
What ICN Needs

What is most useful now versus later.

Useful now

Developer work that expands execution coverage, improves contributor onboarding, or tightens member-facing and operator-facing surfaces.

Documentation work that makes the project easier to evaluate honestly and easier to contribute to without internal context.

Design, testing, and pilot feedback that exposes where the current user-facing surfaces still break down.

Institutional input from cooperatives, federations, and aligned networks about governance, accounting, and coordination problems the current stack fails to carry.

Later, not promised yet

A polished non-technical onboarding flow for ordinary members.

Additional donation infrastructure beyond GitHub Sponsors.

A finished brand system or final ICN logo.

Not sure which path fits?

If you are still figuring out what ICN is before deciding how to engage, start with What is ICN and What's Real Now. Then come back here.