How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OCI

OCI (Open Container Initiative) is an open governance project under the Linux Foundation that defines vendor-neutral specifications for container images, runtimes, and distribution, so containers built with one tool run consistently across any compliant platform.

OCI (Open Container Initiative) is an open governance project, hosted under the Linux Foundation, that maintains vendor-neutral specifications for containers. It grew out of Docker’s early formats and exists so that a container image built with one tool runs consistently on any runtime or registry that conforms to the specs. In practice OCI is the reason “container” stopped meaning “Docker” and became a portable, interoperable unit of software.

  • Image Specification - Defines the on-disk format of a container image — layers, configuration, and manifest — independent of any single vendor.
  • Runtime Specification - Describes how to unpack and execute a container so runtimes like runc, containerd, and CRI-O behave the same way.
  • Distribution Specification - Standardizes the registry API for pushing and pulling images, which is why OCI registries now store more than just container images.
  • Vendor neutrality - Governed in the open so no single company controls how containers are built, shipped, or run.

For API work, OCI matters because it standardizes the units APIs and microservices ship in. Almost every modern API deployment — Kubernetes, serverless container platforms, CI/CD pipelines — assumes OCI-compliant images, so the packaging of an API is now as much a standard as the interface itself. The OCI distribution spec has also been repurposed as a general artifact store, meaning OpenAPI definitions, Helm charts, and other API governance artifacts increasingly travel through the same registries as the containers they describe. Containers, as I wrote years ago, do for APIs what APIs did for companies — and OCI is what keeps that portable.

Open source tools that implement this standard

Harvested from this standard's own governing organisation, with the license read from each repository rather than assumed. The role is what the tool does to the specification, from the shared vocabulary — so an agent holding one of these documents can resolve straight from a goal to a tool.

Tool Role License What it does
runc runs Apache-2.0 The reference OCI runtime — spawns and runs containers per the Runtime Specification, and the thing Docker and containerd ultim...
Skopeo transfers Apache-2.0 Inspects, copies, signs and deletes container images between registries and storage backends — without a daemon and without pul...
Distribution stores Apache-2.0 The reference implementation of the OCI Distribution Specification — the registry server most private registries are built from.
crane / go-containerregistry transfers Apache-2.0 A Go library and the `crane` CLI for working with container registries and images directly over the Distribution API — list tag...
Zot stores Apache-2.0 A production OCI-native registry that stores only OCI images and artifacts, with built-in vulnerability scanning and a search API.
ORAS transfers Apache-2.0 Pushes and pulls arbitrary artifacts through an OCI registry — Helm charts, SBOMs, signatures, models — using the registry as g...
umoci transforms Apache-2.0 Creates and modifies OCI images directly, without a container runtime or daemon.
All API tooling →

Referenced on the API Evangelist blog

Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.