community-infra
A straight comparison

Compare the suite, project by project.

Each project here goes up against the well-known tools in its space. The matrices below stay honest about trade-offs. Every project has at least one row where it doesn’t try to compete. Pick the rows that matter for your team and use them to decide.

// no premine · no roadmap · no issuer · no censorship

built-in · partial or needs an add-on × not built on purpose DIFF there, but built in a different shape

poor-mans-ci vs. CI providers

CI is the most crowded space in the suite. The choices range from SaaS-only (CircleCI, hosted GitHub Actions) to self-hostable but forge-tied (GitLab CI, Forgejo Actions) to fully self-hosted but heavy to run (Jenkins, Tekton). PMCI’s goal is narrower: write signed test results to disk, then refuse anything that doesn’t match a content hash. The matrix shows what that swap costs.

Feature PMCI GitHub Actions GitLab CI/CD CircleCI / Buildkite Drone / Woodpecker Jenkins Tekton
Self-hosted by default (no SaaS option) ×·×
No SaaS provider in trust path ×·×
Open-source license ×·×
Signed attestations on disk per run ··×××·
Content-addressed artifact mirror (/artifact/<sha256>) ××××××
Language-agnostic versioned protocol (a second engine can be implemented) ×××××·
Commit-addressed runner checkouts
Pinned runner image evidence (sha) ×××××·
Head-build + synthetic test-merge dual workflows ··××××
Radicle-native (no centralized PR / merge surface) ××××××
YAML-free pipeline definitions (JSON manifest) ××××·×
Marketplace of third-party actions × ···
Enterprise workflow admin (RBAC, audit-as-product) × ··
Real-time multi-user dashboard ×

GitHub Actions

Hosted-or-self-hosted runners, marketplace, PR integration, run logs in browser.

GitHub holds source identity, the runner pool, the marketplace, and the merge surface. PMCI replaces the runner + evidence stack; it does not try to replace the marketplace, but it removes the runtime dependency on a single platform.

GitLab CI/CD

Self-hostable CI tied to the same forge that holds source, MR review, and registry.

GitLab couples CI to the forge: change forge, change CI. PMCI is decoupled — source replicates over Radicle, CI runs against any ref, evidence is signed independently.

CircleCI / Buildkite

Hosted runner orchestration with strong cache stories and rich dashboards.

Both bet that the control plane is best owned by a SaaS provider. PMCI bets the opposite: the control plane is local files plus a Radicle peer set, and the SaaS dashboard is replaced with one a dashboard process anyone can run.

Drone / Woodpecker

Container-native, forge-pluggable, self-hostable, YAML pipelines.

The closest neighbors in spirit. The split is the evidence model: Drone/Woodpecker produce run logs and exit codes; PMCI produces signed attestations + content-addressed artifacts that survive without the dashboard.

Jenkins

Long-lived self-hosted CI with deep plugin ecosystem.

Jenkins is the canonical “run anything anywhere” tool. PMCI gives up plugin sprawl in exchange for a tighter protocol contract and content-addressed artifacts. Jenkins wins on flexibility; PMCI wins on auditability.

Tekton

Kubernetes-native CI primitives, CRD-driven pipelines.

Tekton requires Kubernetes and lives inside its CRDs. PMCI runs on any host with a shell and produces evidence that does not require a cluster to read.

poor-mans-cd vs. deployment platforms

Most deployments in 2026 assume either a hosted control plane (Heroku, Render, Vercel, Fly) or a Kubernetes cluster running a GitOps reconciler (ArgoCD, Flux). PMCD says you don’t need either. A manifest ties bytes to a sha256, and a deploy host installs them only when the hash matches. The matrix below shows where that swap buys simplicity and where it costs you orchestration features.

Feature PMCD GitHub Deployments ArgoCD Flux CD Spinnaker Octopus / AWS CodeDeploy Ansible / Capistrano
Deploy by manifest (sha256-bound bytes) ×····×
Refuse install when sha256 doesn’t match ×··×××
Receipts on disk (audit without network) ×··×··
Dashboard rebuilds state from local files alone ××××××
No Kubernetes required ×××
No long-lived control-plane process ×××××
Pull-style CD (deploy hosts poll promotions) ×·××
Gated promotion per repo ·×
SSH-based deploy (no daemon / agent install) ××××·
Imports PMCI / external attestation evidence ××××××
Secrets out-of-band (never in manifest) ·
Multi-cloud orchestration UI × ×·××
Real-time multi-user editing in dashboard × ·×

GitHub Deployments

Deployment environments tied to GitHub Actions runs and a deployments tab.

The deploy authority is “whoever can write a workflow file in a GitHub repo.” PMCD makes the deploy authority “whoever can write the release manifest,” pinned to a sha256, and refuses anything that doesn’t match.

ArgoCD

GitOps reconciler for Kubernetes: a control plane watches Git and syncs cluster state.

ArgoCD assumes a cluster and a long-running controller. PMCD assumes a host with SSH and a sha256. They solve different shapes of the problem; ArgoCD wins when k8s is non-negotiable.

Flux CD

GitOps controllers that pull manifests from Git and apply them to clusters.

Closest in spirit to PMCD’s pull-style CD — both poll for promotion changes. The split is the target: Flux is k8s-shaped; PMCD is anything you can SSH into.

Spinnaker

Multi-cloud deployment orchestration with pipelines, gates, and canary stages.

Spinnaker brings opinionated multi-cloud orchestration. PMCD is opinionated about evidence, not about clouds. If your problem is “ship to 4 clouds with the same pipeline,” Spinnaker wins.

Octopus / AWS CodeDeploy

Vendor deployment platforms with agents on target hosts.

Both require an agent on the target. PMCD requires SSH and a manifest reader. The trade is agent ergonomics (rich health checks, blue/green automation) vs. fewer moving parts.

Ansible / Capistrano

Imperative deploy scripts run over SSH; long-standing patterns for self-hosting.

The closest UX neighbor — both are SSH-based. PMCD replaces the “run a script” model with “install these bytes if the hash matches.” That swap is the whole product.

radicle-seed-kit vs. forges + bare Radicle

Sharing source today is dominated by hosted forges (GitHub, GitLab) and a long tail of self-hosted alternatives (Gitea, Forgejo, sourcehut, cgit). Seed Kit swaps the forge for an always-on Radicle seed plus a privacy and onboarding layer. It solves the NAT and access-control problems that the raw Radicle protocol leaves to the operator.

Feature Seed Kit GitHub Private GitLab Self-host Gitea / Forgejo sourcehut cgit + gitolite Bare Radicle node
Private repos by default ·
No third-party account required ×
Always-on availability for offline collaborators ·
NAT-friendly mirroring (reverse-tunnel onboarding) ···××
Tor onion endpoint support ×·····
Multi-seed redundancy out of the box ··×××
Privacy guardrails (refuse accidental publish) ·×××××
DigitalOcean automation included ××××××
Friend-onboarding runbook included ××××××
Circle Source collaboration protocol ××××××
Replication via Radicle gossip (not HTTPS git push) ×××××
PR / MR UI in the browser × ××
Web-based code review × ·×

GitHub Private

Privately-hosted repos with browser UI, MRs, issues, integrations, and SSO.

GitHub holds source identity, the review surface, and the access decision. Seed Kit gives the access decision back to a Radicle allowlist, and replaces the browser review surface with patches gossiped between peers.

GitLab Self-host

Self-hostable forge with CI, MRs, registry, pages, and rich admin UI.

GitLab is a single integrated platform. Seed Kit decomposes that into source replication (Seed Kit), CI (PMCI), CD (PMCD), and backlog (Radicle Priorities) so each piece is replaceable.

Gitea / Forgejo

Lightweight, self-hosted, OSS-friendly forges with the GitHub-style flow.

Closest UX neighbors for “a small team self-hosts source.” The split: Seed Kit doesn’t give you a browser MR UI — it gives you a seed-backed Radicle network with private-by-default availability.

sourcehut

Self-hosted, mailing-list-style, suckless-philosophy forge.

sourcehut and Seed Kit agree that the browser shouldn’t be the canonical workspace. Seed Kit goes further by making source replication itself peer-to-peer rather than HTTPS-clone-from-a-host.

cgit + gitolite

A read-only browser plus an SSH access control layer over bare Git.

cgit + gitolite is the “just enough forge” setup that pre-dates GitHub. Seed Kit adds gossip, NAT-friendly onboarding, and a privacy guardrail layer that gitolite doesn’t reach.

Bare Radicle node

Just running rad node start on a VPS.

The minimum viable Radicle setup. Seed Kit is the “you actually want to operate this” layer on top: DigitalOcean automation, onboarding flows, privacy guardrails, Tor + multi-seed templates, mirroring runbooks.

radicle-priorities vs. issue trackers + Kanban boards

Radicle Priorities makes BDD .feature files the backlog, Radicle issues the place the team talks, and the local board UI a live view of your working tree. It compares to a wide set of tools: GitHub Projects, Jira, Linear, Trello, Asana, Plane, OpenProject, Gitea, git-bug, Fossil, and generic Radicle web UIs.

That comparison is the main attraction on its own site, so we don’t copy it here. The full 17-row matrix and per-tool cards live there:

See the full comparison on extremebdd.com →

That comparison also lists honest losses: enterprise workflow admin, real-time multi-user editing, and the fact that you need Git, Radicle, and BDD skills to use it. It isn’t right for every team. The page lets each reader decide on their own terms.

ecsc vs. service-payment and state-channel patterns

ECSC sits in a narrow space: it pays for verified service work between two peers over an ordinary Lightning channel, and it refuses to settle any payment update whose claim doesn’t match its evidence. The closest neighbors are L402 (pay an invoice, unlock an API), Podcasting 2.0 Value-for-Value (stream sats while media plays), generalized state channels (Celer / Nitro / Raiden, application-state-conditioned payments), Web Monetization (in-browser payment streams), DLCs (oracle-attested Bitcoin settlement), and appchains (give an application its own chain). ECSC borrows from each of these without becoming any of them.

Feature ECSC L402 / Aperture V4V / streaming sats State channels (Celer, Nitro, Raiden) Web Monetization / Interledger DLCs Appchains (Cosmos, Polkadot, …)
Settles on real Lightning HTLCs (no new client required) ×·××
Node-backed proof of update_add_htlc / commitment_signed / revoke_and_ack ××××××
Signed application service_state bound to payment_hash ·××··
Refuses to settle when evidence does not match the claim ××·×·
Bilateral & non-custodial (each peer holds their own funds) ···
Offline replay of a redacted audit bundle (no nodes required to verify) ××××··
Deterministic rejection reasons for cheating attempts ××·×·
No new chain, validator set, or token introduced ××
Service-access token model (pay invoice → unlock API) × ××·××
General-purpose application state-channel framework × ××××
Media monetization / per-second streaming cadence × ××××
Independent execution environment / own VM / own governance × ×××××

L402 / LSAT / Aperture

Binds a Lightning invoice + preimage to a service access token.

The closest Lightning-native neighbor. L402 answers “did this client pay for access?” ECSC answers “does this bilateral service state have enough evidence to justify the next channel update?” Same Lightning primitives, different center of gravity: access control vs. evidence-gated bilateral settlement.

Podcasting 2.0 Value-for-Value / streaming sats

Streams small Lightning payments to creators while media plays.

V4V generalizes payment cadence (pay continuously, per minute, per listen). ECSC generalizes payment justification (pay only when evidence proves a service-state transition is valid). The two can compose — a streaming-media platform could use ECSC if each segment, royalty split, or transcript job needed evidence-gated settlement — but ECSC is not a media monetization protocol.

Celer / Nitro / Perun / Raiden

Generalized state-channel frameworks: application state conditions off-chain payment outcomes.

The closest abstract family. ECSC deliberately narrows the first implementation to ordinary Lightning HTLCs instead of introducing a new smart-contract state-channel framework. Same idea (application state gates a payment); much narrower scope (one bilateral service contract on Lightning, not a general-purpose VM).

Web Monetization / Interledger STREAM

In-browser payment streams; STREAM multiplexes money + data across ledgers.

ECSC is not a browser monetization protocol or a ledger-agnostic transport. It is Lightning-focused and binds evidence roots to HTLC / channel receipts. ECSC should borrow the evidence-message discipline of these systems without becoming a value-routing intermediary.

Discreet Log Contracts

Oracle attestations settle conditional Bitcoin contracts.

The conceptual overlap is the oracle pattern: PMCI attestations sign facts that get used in a settlement decision. ECSC doesn’t need DLC settlement mechanics; PMCI attests service work, policy, result hashes, freshness, worker identity, and verifier authority rather than acting as a general financial-outcome oracle.

Cosmos / Polkadot / Avalanche / Polygon CDK

Give an application its own chain — execution environment, validator set, governance, state roots, bridges.

ECSC is not an appchain. It has canonical protocol artifacts, evidence roots, and state machines, but no validator set, no block production, no bridge, no chain consensus layer. The settlement substrate is the Lightning Network, not a new chain.

How to use these matrices The matrices show what each tool covers, not which one’s better. The right tool is the one whose trust model matches yours. If you need a SaaS provider as the source of truth, GitHub, Jira, or ArgoCD are great. If you need the source of truth to be local files plus content hashes plus a Radicle peer set, this suite is built for that. It was also built to be replaced, which is why every protocol here is versioned and forkable.