March 24, 2023·6 min read·engineeringdockerdocker-hubopen-source

Docker keeps Free Team organizations after reversing its shutdown plan

Docker has withdrawn the April migration deadline for Free Team organizations. The reversal exposes the distinction between portable image content and the hosted accounts that distribute it.

A container image can have a verifiable identity and still depend on a hosted account for distribution. Docker's decision to withdraw its Free Team shutdown plan makes that distinction relevant to anyone who consumes images maintained by somebody else. The March 24 announcement removes the requirement for existing Free Team organizations to migrate by April 14. Docker acknowledges that the policy itself was wrong, after initially treating the problem as poor communication.

That change matters beyond the people who administer those organizations. A consumer may depend on a public repository without knowing which subscription supports its maintainers. The relationship between a build and a hosted account is usually absent from the application's source. A policy change can make that relationship relevant without changing a line of application code.

I value Docker's ability to package an environment for use on another machine. The controversy concerns the service that distributes that package and the account that controls its publication. Portability of the artifact remains useful, but it does not settle who can maintain a familiar repository name or under what terms they can do so.

The sequence matters

Docker communicated its intended shutdown on March 14. Its March 16 response apologized for communication and execution while continuing to defend the rationale for retiring the plan. That response said the change concerned Free Team organizations and did not affect the other named subscriptions or the Docker-Sponsored Open Source program. It also clarified that public images would only disappear if their maintainer deleted them.

The March 24 decision goes further than clarifying the scope. It withdraws the policy. Those two statements should not be conflated when explaining what maintainers now need to do. A clarification can narrow the interpretation of a requirement while leaving the requirement in force. This announcement removes the migration requirement for existing Free Team organizations.

Docker also addresses actions taken during the intervening period. Customers who upgraded to a paid subscription between the announcements will receive a full refund within the next 30 days and may use the purchased term. Requested migrations to Personal or Pro will not proceed, with customers remaining on their Free Team plan. These are commitments in today's announcement, not completed refunds that can already be counted.

Reversing the deadline is only part of reversing a policy. Some customers have already acted on the earlier instruction. An account that has changed plans and an account with a pending migration request need different treatment. Explicitly addressing both reduces ambiguity about whether withdrawing the deadline also undoes actions initiated before the withdrawal.

An organization plan is a specific service

The Free Team FAQ identifies the affected plan through the subscription column on an account's Organizations page. It also explains that Free Team stopped being a signup option in 2021. An existing legacy plan can therefore matter to established projects without appearing among the choices a new user encounters today.

That helps explain why broad statements about free Docker accounts are inaccurate. The name of a legacy organization plan does not describe every account that costs nothing. Equally, an individual user's paid subscription does not establish the subscription status of an unrelated organization whose images that user downloads. The relevant unit is the organization named by the policy.

The FAQ says Docker-Sponsored Open Source continues to operate and recommends that eligible projects apply. That program remains a separate route with its own eligibility decision. Today's reversal means an existing Free Team organization does not have to obtain acceptance into that program simply to satisfy the withdrawn April deadline.

Application processing also differs from the continuation of an existing account. A sponsored program can provide benefits to qualifying projects, but eligibility has to be assessed. A deadline that depends on moving to such a program creates a coordination requirement between the maintainer and the service provider. Removing the deadline removes that immediate dependency for the legacy organization.

Content identity does not guarantee access

The OCI Distribution Specification v1.0.1 makes the technical distinction precise. It defines a digest as an identifier derived from a cryptographic hash of content. A tag is a human-readable manifest identifier. A pull retrieves a manifest and the blobs that it references, through a registry serving the repository's namespace.

These mechanisms answer related but different questions. A digest allows a client to check whether downloaded content matches the requested identity. The repository and registry identify where the client asks for that content. An account administering the repository controls publication through the hosted service. Knowing the bytes' identity does not itself supply those bytes or authorize a maintainer to publish an update.

A manifest request may use a tag or a digest under the specification. If the manifest is absent, the registry returns a not-found response. The same applies to a missing blob. Integrity verification is valuable after retrieval, but it cannot turn absent content into a successful download. This is why a discussion of image distribution must include availability alongside identity.

Consider a hypothetical build that refers to a public image. Pinning its manifest digest makes the requested content explicit. It does not establish that the repository will remain reachable indefinitely. Copying that artifact to a separately administered registry can change the distribution dependency, but the copy must include the content required by the manifest. The change has an operational purpose even if the bytes are identical.

That observation does not mean today's announcement requires an emergency registry migration. Docker says the shutdown is canceled. It explains why maintainers and consumers had reason to care about the hosted organization independently of the image format. An open distribution protocol and a continuing hosted subscription solve different parts of the delivery problem.

Maintainers and consumers have different information

An organization administrator can inspect the subscription and contact support about account changes. A downstream consumer normally sees an image reference and whatever documentation the project provides. Asking consumers to infer account policy from an image name gives them a problem for which that name contains no answer. The distinction should shape how service changes are communicated.

The percentage of directly affected accounts is also an incomplete description of downstream relevance. One organization can distribute artifacts used by people outside it. This is a structural observation about shared publication, not a claim about the number of builds affected by this announcement. The available statements do not establish that number, and it would be misleading to invent one.

The same separation applies to public availability and ongoing maintenance. A consumer's ability to download an existing artifact is one capability. A maintainer's ability to publish a correction is another. Docker's FAQ says maintainers have retained access to update public repositories, including for security fixes. That statement addresses a different concern from whether old image layers are being deleted.

I regard continued maintenance access as part of the value of a stable distribution service. A repository used in build instructions needs an owner who can continue to manage its contents. Retaining old bytes alone would leave the future maintenance question unanswered. Today's withdrawal lets existing Free Team organizations continue under their current plan.

The reversal defines the immediate outcome

The decision leaves a specific set of instructions for existing customers. The April migration requirement no longer applies. Pending requests to move to Personal or Pro will leave customers on Free Team, and eligible paid upgrades fall under the announced refund commitment. The sponsored open source program remains available to projects that want to apply. Docker directs customers with account-specific problems to its support service.

Those statements establish the policy that applies today. For a maintainer, the relevant action depends on what happened to the account during the announcement period. A migration request and a paid upgrade have separate remedies in the announcement. For a consumer, the relevant technical distinction remains the identity of the image and the service through which it is obtained. Neither the registry address nor an artifact digest describes the subscription attached to its publishing organization.

The registry protocol gives software a common way to request manifests and content. Docker's account policy determines how organizations use this particular hosted service. Free Team organizations can now continue to maintain their repositories without the April 14 migration requirement, including the accounts whose requested migration Docker has committed to cancel.